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

  • 相关阅读:
    ActiveMQ 即时通讯服务 浅析
    Asp.net Mvc (Filter及其执行顺序)
    ActiveMQ基本介绍
    ActiveMQ持久化消息的三种方式
    Windows Azure Virtual Machine (27) 使用psping工具,测试Azure VM网络连通性
    Azure China (10) 使用Azure China SAS Token
    Windows Azure Affinity Groups (3) 修改虚拟网络地缘组(Affinity Group)的配置
    Windows Azure Storage (22) Azure Storage如何支持多级目录
    Windows Azure Virtual Machine (26) 使用高级存储(SSD)和DS系列VM
    Azure Redis Cache (2) 创建和使用Azure Redis Cache
  • 原文地址:https://www.cnblogs.com/future-dream/p/11080702.html
Copyright © 2011-2022 走看看