使用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': '',
'name': 'Jordan',
'age': '',
'sex': 'male',
}
result_0 = self.collection.insert_one(student_0)
print(result_0)
student_1 = {
'id': '',
'name': 'Jerry',
'age': '',
'sex': 'female',
}
student_2 = {
'id': '',
'name': 'Cherry',
'age': '',
'sex': 'female',
}
student_3 = {
'id': '',
'name': 'Pet',
'age': '',
'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": ""})
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提供了数据库的基本驱动可以通过调用相应的驱动完成数据库信息的存储。同时通过更改数据库的信息就可以使得数据库能够进行远程的访问。可以通过查阅相应的信息完成数据库的连接和操作。
使用python远程连接数据库的更多相关文章
- robotframework 远程连接数据库问题
今天在使用RF远程连接数据库时出现报错的问题,因为我发现只安装databaselibrary跟PyMsql的话,连接本地的数据库是OK的,但是如果我们的测试机性能有限,那么既要编写代码.运行测试.还有 ...
- python + pymysql连接数据库报“(2003, "Can't connect to MySQL server on 'XXX数据库地址' (timed out)")”
python + pymysql连接数据库报"(2003, "Can't connect to MySQL server on 'XXX数据库地址' (timed out)&quo ...
- 【基于WinForm+Access局域网共享数据库的项目总结】之篇三:Access远程连接数据库和窗体打包部署
篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...
- Oracle数据库的创建以及远程连接(PL/SQL Developer远程连接数据库)
dbca: 创建数据库 netca: 创建监听程序 netmgr: 配置监听服务(将数据库服务注册到监听器上) netca 与 netmgr 两步可以直接在 ORACLE_HOME/network/a ...
- 在ubunut下使用pycharm和eclipse进行python远程调试
我比较喜欢Pycharm,因为这个是JetBrains公司出的python IDE工具,该公司下的java IDE工具--IDEA,无论从界面还是操作上都甩eclipse几条街,但项目组里有些人使用e ...
- SQL Server 2005如何远程连接数据库?
SQL Server 2005如何远程连接数据库? 方法/步骤 1 在配置工具中的服务和远程连接的外围应用配置器 --->远程连接-->本地连接和远程连接-->同时使用TCP/I ...
- Python远程视频监控
Python远程视频监控程序 老板由于事务繁忙无法经常亲临教研室,于是让我搞个监控系统,让他在办公室就能看到教研室来了多少人.o(>﹏<)o||| 最初我的想法是直接去网上下个软件,可 ...
- Pycharm中进行Python远程开发
http://blog.csdn.net/pipisorry/article/details/52269952 PyCharm提供两种远程调试(Remote Debugging)的方式: 配置远 ...
- python 远程调度进程服务与客户端
python 远程调度进程服务与客户端 核心思想: 在本地或远程机器上创建一个进程,提供调度服务.使用了 APScheduler. 安装:APScheduler $ wget https://pypi ...
随机推荐
- Vue.js 源码分析(九) 基础篇 生命周期详解
先来看看官网的介绍: 主要有八个生命周期,分别是: beforeCreate.created.beforeMount.mounted.beforeupdate.updated .beforeDes ...
- MySQL之--修改密码
1.在Mac上安装MySQL会随机生成一个临时密码,如下: --24T02::.004376Z [Note] A temporary password is generated for root@lo ...
- itextpdf5单元格中的段落没有行间距
关于对表格中的段落没有行间距的解决方式:通过观察和推测的结论:itextpdf对一些属性,只会对最外层元素的属性进行接收处理,如行间距.例: Paragraph p = new Paragraph(1 ...
- java中方法的重载和覆盖分别要满足的条件
1.重载:遵循“两同三不同” 两同:同一个类中的同名方法 三不同:形参的类型,个数,顺序不同 特别提醒: 返回值不同构不能方法重载 形参名称不同构不成方法重载 2.覆盖(重写)的要求 子类方法的名称, ...
- 前台VUE的组件之间传参方式
路由传参 """ 转跳: <router-link :to="'/course/'+course.id">{{course.name}}& ...
- linux (09) nginx反向代理,负载均衡
一.nginx域名分配 1.创建一个新的服务器 server server{ listen 80; server_name www.s15oumei.com; #定义访问域名 location / { ...
- Vue-router路由传参的三种方式
本文简单介绍下三种路由传参: (1)在路由中配置 { path : ‘/home/:id’, name : ‘Dome’, component } 然后写调用的时候 this.$router.push ...
- JAVA并发-Condition
简介 在没有Lock之前,我们使用synchronized来控制同步,配合Object的wait().notify()系列方法可以实现等待/通知模式.在Java SE5后,Java提供了Lock接口, ...
- SQL必知必会02 过滤数据/条件查询
- Spring Data介绍
Spring Data是Spring 的一个子项目.用于简化数据库访问,支持NoSQL和关系数据库存储.其主要目标是使数据库的访问变得方便快捷. Spring Data 项目所支持NoSQL存储: M ...