鱼C论坛

 找回密码
 立即注册
查看: 2593|回复: 13

python+mysql+pymysql

[复制链接]
发表于 2021-7-17 15:48:08 | 显示全部楼层 |阅读模式
60鱼币
我在pycharm上使用pymysql模块来连接操作MySQL数据库,在我电脑上没啥问题,现在我想在其他电脑上连我电脑的MySQL数据库
db = pymysql.connect(host="localhost", user="****", passwd="****", db="****")
应该是要将这个host改成我电脑的IP地址,应该没错吧.....

遭遇错误:
我电脑是笔记本,连的WiFi,查IP地址时,以太网是断开的,是没有电缆宽带什么的
我尝试打开网络适配器,点开我连接的WiFi的详细信息,用这个IPv4地址来代替上面的localhost
可惜报错,报错信息:
pymysql.err.OperationalError: (1130, "PC201910271237M' is not allowed to connect to this MySQL server")

问题:
是不是一定要连网线什么的才可以?还是我这台只连了wifi的电脑,可以在其他电脑上用pymysql模块来连接操作我电脑的MySQL数据库?
或者直接跟我说我应该怎么办才能在其他电脑上连接操作我的MySQL数据库,主要就是这个问题。

跪求!!!!

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-17 16:36:33 | 显示全部楼层
连同一个wifi 或者你连另一台的热点 或者另一台连你的热点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-7-17 16:45:37 | 显示全部楼层
kogawananari 发表于 2021-7-17 16:36
连同一个wifi 或者你连另一台的热点 或者另一台连你的热点

我现在还在我自己的电脑上使用,只是将localhost改成我连的WiFi的IPv4地址就报错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-17 17:19:02 | 显示全部楼层
本帖最后由 Wirror 于 2021-7-17 17:20 编辑

host是改成ip地址了吗?user是什么?我也在尝试从其他电脑连接数据库,但是遇到连接超时的问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-7-17 17:26:07 | 显示全部楼层
Wirror 发表于 2021-7-17 17:19
host是改成ip地址了吗?user是什么?我也在尝试从其他电脑连接数据库,但是遇到连接超时的问题

host改ip地址了,就是我看网上查的IP地址都是以太网的,我改的这个是在适配器 捕获.PNG 点这个wifi的详细信息里的IPv4地址
user就是root
之前
db = pymysql.connect(host="localhost", user="root", passwd="***", db="***")
我就改了个host就报错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-17 18:55:47 | 显示全部楼层
1) 先看看mysql监听端口,cmd下:netstat -an
2) 检查防火墙设置,是否放开了mysql的端口。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-17 19:46:03 | 显示全部楼层
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;  

FLUSH   PRIVILEGES; 

 
应该是root用户没有远程链接的权限。增加权限即可。
mysql里去执行以上sql语句,先执行第一条,授权,‘mypassword’改成远程连接的密码(自己定)
然后执行第二条,刷新权限,生效
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-17 20:55:20 From FishC Mobile | 显示全部楼层
redforce 发表于 2021-7-17 19:46
应该是root用户没有远程链接的权限。增加权限即可。
mysql里去执行以上sql语句,先执行第一条,授权,‘ ...

请问一下,我的操作和你的是一样的吗?
我是打开mysql.user并把root前面的localhost修改成%   然后我发现需要重启电脑才管用,按你的意思是刷新一下权限就可以了吗??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-17 21:31:19 | 显示全部楼层
wp231957 发表于 2021-7-17 20:55
请问一下,我的操作和你的是一样的吗?
我是打开mysql.user并把root前面的localhost修改成%   然后我发 ...

去mysql里执行我给的那sql语句,不要直接修改,会出问题的。你那个localhost表示允许本机连接。执行sql语句后,刷新权限就可以了,不需要重启
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-17 21:32:14 | 显示全部楼层
本机cmd里mysql -uroot -p进mysql客户端,然后执行
或者客户端工具里去执行都可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-17 23:19:15 | 显示全部楼层
来学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-17 23:29:38 | 显示全部楼层
host 不一定要改,因为host名,最终是靠IP 和端口(你可以直接写host='192....IP')。 有时改了host,反而会造成一些不必要的麻烦。。
最好清楚明白自己在干什么,再修改host。。
改的时候,要确保拼写host名和IP 正确,小心检查。。

连接建议:
1. 先 确认从其他机子上 ping mysql所在机子的ip 是否通。
(若ping不通可能是防火墙,也可能是MySQL服务没启动或不正确,或其他原因)

2. 确认 所使用的mysql账号 权限是否足够,  确保足够,可以修改权限,如
    授予全部权限给root用户,且允许在任意IP('%')连接MySQL,的SQL命令是
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' ;  
    FLUSH   PRIVILEGES;  # 刷新权限而生效(有时好像刷新不用也行)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-7-19 10:47:48 | 显示全部楼层
redforce 发表于 2021-7-17 19:46
应该是root用户没有远程链接的权限。增加权限即可。
mysql里去执行以上sql语句,先执行第一条,授权,‘ ...

报错了
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED BY '111' WITH GRANT OPTION' at line 1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-19 14:56:51 | 显示全部楼层
在cmd中运行 ipconfig /all ,输出截图发过来,我告诉你你的IP地址
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-26 23:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表