使用python遠程連接數據庫


根據web連接服務的原理,我們可以通過一台電腦連接我們另一台電腦上的數據庫

一、開啟數據庫的權限
1.Mysql:
1)修改訪問權限
首先修改可以訪問的ip,把‘localhost’全部修改為‘%’,打開cmd,使用指令【mysql -u root -p】,進入數據庫,其中root是MySQL的用戶名,默認為root


2)選擇數據庫


3)修改ip訪問的權限
使用sql語句【update user set host="%" where host="localhost";】完成對權限的更新,在使用指令【select user,host from user;】進行查看

 

4)重啟服務
進入服務找到MySQL的服務重啟一下就可以了

 

2.neo4j:
1)打開訪問權限
進入neo4j的安裝目錄下的配置文件conf中

 

通過快速檢索crtl+F找到這個配置,取消這一行的注釋即可


2)開放7474端口
【控制面板】-->【windows defender 防火牆】-->【高級設置】-->【入站規則】-->【新建規則】





依次選擇:【端口】-->輸入特定端口-->【允許連接】-->【下一步】-->輸入名稱和描述-->【完成】,完成端口的設置



3)重啟服務,按照前面的方法重啟一下服務即可

二、遠程連接數據庫
1.MySQL:
python3中使用pymysql連接MySQL數據庫,安裝pymysql,【pip install pymysql】

 通過下面的代碼以及數據庫和連接的電腦在同一個局域網下面就可以連接成功。

復制代碼
import pymysql


class Mysql:
    def __init__(self):
        self.content = pymysql.Connect(
            host='0.0.0.0',  # mysql的主機ip
            port=3306,  # 端口
            user='root',  # 用戶名
            passwd='*******',  # 數據庫密碼
            db='student',  # 數據庫名
            charset='utf8',  # 字符集
        )
        self.cursor = self.content.cursor()

    def query(self):
        sql = "select name,url from films;"
        self.cursor.execute(sql)
        for row in self.cursor.fetchall():
            print("name:%s\t url:%s" % row)
        print(f"一共查找到:{self.cursor.rowcount}")

    def end(self):
        self.cursor.close()
        self.content.close()


if __name__ == '__main__':
    mysql = Mysql()
    mysql.query()
    mysql.end()
復制代碼

 

2.neo4j

http://ip:7474/browser/  # ip是數據庫的地址

通過這樣就可以連接到遠程數據庫,並且操作數據庫信息

 

三、拓展

python連接mongodb數據庫

復制代碼
from pymongo import MongoClient


class Mongo:
    def __init__(self):
        self.con = MongoClient('127.0.0.1', 27017)  # link database
        self.db = self.con.test  # choose database
        self.collection = self.db.test  # choose collection

    def insert(self):
        student_0 = {
            'id': '000',
            'name': 'Jordan',
            'age': '18',
            'sex': 'male',
        }
        result_0 = self.collection.insert_one(student_0)
        print(result_0)
        student_1 = {
            'id': '001',
            'name': 'Jerry',
            'age': '20',
            'sex': 'female',
        }
        student_2 = {
            'id': '002',
            'name': 'Cherry',
            'age': '19',
            'sex': 'female',
        }
        student_3 = {
            'id': '003',
            'name': 'Pet',
            'age': '20',
            'sex': 'female',
        }
        result_1 = self.collection.insert_many([student_1, student_2, student_3])
        print(result_1)
        print(result_1.inserted_ids)

    def query(self):
        result_0 = self.collection.find_one({"id": "001"})
        print(result_0)
        result_1 = self.collection.find({"sex": "female"})
        print(result_1)
        for one in result_1:
            print(one)


if __name__ == '__main__':
    mongo = Mongo()
    mongo.query()
復制代碼

 

四、總結

python提供了數據庫的基本驅動可以通過調用相應的驅動完成數據庫信息的存儲。同時通過更改數據庫的信息就可以使得數據庫能夠進行遠程的訪問。可以通過查閱相應的信息完成數據庫的連接和操作。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM