根据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远程连接数据库的更多相关文章

  1. robotframework 远程连接数据库问题

    今天在使用RF远程连接数据库时出现报错的问题,因为我发现只安装databaselibrary跟PyMsql的话,连接本地的数据库是OK的,但是如果我们的测试机性能有限,那么既要编写代码.运行测试.还有 ...

  2. 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 ...

  3. 【基于WinForm+Access局域网共享数据库的项目总结】之篇三:Access远程连接数据库和窗体打包部署

    篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...

  4. Oracle数据库的创建以及远程连接(PL/SQL Developer远程连接数据库)

    dbca: 创建数据库 netca: 创建监听程序 netmgr: 配置监听服务(将数据库服务注册到监听器上) netca 与 netmgr 两步可以直接在 ORACLE_HOME/network/a ...

  5. 在ubunut下使用pycharm和eclipse进行python远程调试

    我比较喜欢Pycharm,因为这个是JetBrains公司出的python IDE工具,该公司下的java IDE工具--IDEA,无论从界面还是操作上都甩eclipse几条街,但项目组里有些人使用e ...

  6. SQL Server 2005如何远程连接数据库?

    SQL Server 2005如何远程连接数据库? 方法/步骤   1 在配置工具中的服务和远程连接的外围应用配置器 --->远程连接-->本地连接和远程连接-->同时使用TCP/I ...

  7. Python远程视频监控

    Python远程视频监控程序   老板由于事务繁忙无法经常亲临教研室,于是让我搞个监控系统,让他在办公室就能看到教研室来了多少人.o(>﹏<)o||| 最初我的想法是直接去网上下个软件,可 ...

  8. Pycharm中进行Python远程开发

    http://blog.csdn.net/pipisorry/article/details/52269952 PyCharm提供两种远程调试(Remote Debugging)的方式:    配置远 ...

  9. python 远程调度进程服务与客户端

    python 远程调度进程服务与客户端 核心思想: 在本地或远程机器上创建一个进程,提供调度服务.使用了 APScheduler. 安装:APScheduler $ wget https://pypi ...

随机推荐

  1. Ubuntu19.04安装常用软件

    安装Indicator Stickynotes 桌面便签小工具sudo add-apt-repository ppa:umang/indicator-stickynotessudo apt-get u ...

  2. Scrum 之 product Backlog

    转载:http://www.zhoujingen.cn/blog/2767.html Scrum的基本概念其实并不复杂,但是想做好并不容易,大家都知道product backlog的重要性,但是我们如 ...

  3. 155--MinStack

    /* 解法一:使用链表从0实现栈,用min来存放最小值. 复杂的地方是,如果pop了最小的数,就要遍重新找到最小的数. */ public class MinStack { List<Integ ...

  4. tornado中的options常用姿势

    tornado是facebook开源的非阻塞web容器,类似java的netty,tornado.options是负责解析tornado容器的全局参数的,同时也能够解析命令行传递的参数和从配置文件中解 ...

  5. springcloud学习之路: (二) springcloud打jar包并批量运行

    springcloud中内置了tomcat所以打包的时候是直接把tomcat打入jar包 之后就可以做到, 单独的服务, 独立的jar包, 独立运行的效果了. 一.打jar包 1. 在pom.xml文 ...

  6. Centos 7 修改网卡名称、静态IP

    修改内核选项 # vim /etc/sysconfig/grub GRUB_TIMEOUT= GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc ...

  7. Windows下使用mingw+cmake编译C/C++程序

    按照正常流程安装好mingw和cmake后,仍然是无法直接使用cmake编译处MakeFile文件的,我们需要在CMakeLists.txt中做一些配置. 首先,在PROJECT之前,设置: SET( ...

  8. 20187101035 张玉晶《面向对象程序设计(java)》第八周学习总结

    201871010135   张玉晶 <面向对象程序设计(java)>第八周学习总结> 项目 内容 这个作业属于哪个课程 <任课教师博客主页链接> https://www ...

  9. djang项目中的疑问及解决办法(ValueError: Invalid model reference 'apps.user.User'. String model references must be of the form 'app_label.ModelName'.)

    这个问题其实就是apps.user.User这种用法是不对的,就在下面的模型中,我本来是绑定apps.user.User,但是试了一下,由于order和user是在同一个apps中,所以直接用user ...

  10. 在springboot中使用redis缓存,将缓存序列化为json格式的数据

    背景 在springboot中使用redis缓存结合spring缓存注解,当缓存成功后使用gui界面查看redis中的数据 原因 springboot缓存默认的序列化是jdk提供的 Serializa ...