Linux使用局域网中mysql数据库

一开始安装教程安装myslqDB,装了两次发现装不上,因为我是Ubuntu中默认安装的是pythohn3.6版本的,用pip3 install mysqlDB当然安装不上,因为这个模块不支持python3。

百度了发现python3有自己的新的模块包可供使用直接pip3 install pymysql 就可以使用pymysql来操作mysql数据库。

但是还不能,我发现直接连接mysql数据库是不行的,Error报错,提示无法连接。我ping 我的局域网主机ip:192.168.1.200(这个每个人不同自己windows下ipconfig,Ubantu下ifconfig看一下)。

查了一下教程,分为两步。

第一步修改mysql数据库权限,第二部是防火墙中添加入栈规则。

本人mysql数据库安装在Windows下,ubantu1.8放在虚拟机中拥有自己的ip地址,所以可以看做是局域网中的两台主机。

第一步参考连接:https://www.2cto.com/database/201701/587097.html

一、运行cmd,输入mysql -u root -p。(我的操作完成了,下面借用一下qq_30776829CSDN用户的图)

二、输入mysql数据库密码,enter确定。

三、输入 use mysql

四、输入grant all privileges on *.* to root@'%' identified by"root"; 目的是设置局域网内所有ip都可以访问本机。allprivileges是所有的权限,应该就是连接好了以后本地的数据库所有的权限别人都可以访问了。%的意思是所有用户,如果改成某一个ip就是给了这个人访问本地数据库的权限。

五、第四步:显示Query OK表示操作成功。然后需要刷新数据库,输入: flush privileges;

第二步:添加入栈规则,参考https://www.2cto.com/database/201708/667024.html

最后ubantu下进行连接测试,建立test.py文件,写入如下代码:

#导入pymysl包
import pymysql

#连接数据库
db = pymysql.connect('192.168.1.200', 'root', 'root', 'testdb', charset='utf8' )
#使用cursor()方法创建一个游标对象
cursor = db.cursor()
#使用execute()方法执行SQL语句
cursor.execute("SELECT VERSION()")

#使用fetall()获取全部数据
#data = cursor.fetchall()
data = cursor.fetchone()
print ("Database version : %s " % data)
#打印获取到的数据
#print(data)
#关闭游标和数据库的连接
cursor.close()
db.close()
在终端中进行运行,结果如下:

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值