使用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提供了数据库的基本驱动可以通过调用相应的驱动完成数据库信息的存储。同时通过更改数据库的信息就可以使得数据库能够进行远程的访问。可以通过查阅相应的信息完成数据库的连接和操作。

原文地址:https://www.cnblogs.com/shaozhu520/p/15752741.html