PySQL 远程连不上 MySQL,请问还有其它什么原因造成的呢?

2020-04-20 11:13:33 +08:00
 MrMike

已经开启了数据库用户权限,也打开了端口,本地用客户端软件和 php 都可以链接上数据库,但是用 pysql 就是连不上。 请问这个还有其它什么原因造成的呢?

pymysql.err.OperationalError: (1045, "Access denied for user '数据库名'@'本地网络 IP' (using password: YES)")

2879 次点击
所在节点    Python
33 条回复
zanelee
2020-04-20 12:20:50 +08:00
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password';
flush privileges; 语句是这样一模一样复制上去的吗??? 这语句上去 FLUSH 以后你用用户名:username,密码:password 能远程登录了。你用你自己 root 账号 root 密码肯定还是不行的啊。
zanelee
2020-04-20 12:22:19 +08:00
@zanelee 你本地用 root 和 root 密码肯定可以登录的
jimmy2010
2020-04-20 12:22:30 +08:00
localhost 和 127.0.0.1 的区别?
MrMike
2020-04-20 13:29:12 +08:00
@Inn0cence

import pymysql

pymysql.connect('remote_server_ip', 'database_user', 'database_name', 'database_password')
MrMike
2020-04-20 13:30:03 +08:00
@zanelee 肯定是改过的啊,不可能把真实的数据库信息发在网上啊。
MrMike
2020-04-20 13:48:01 +08:00
连上了。

pymysql.connect('remote_server_ip', 'database_user', 'database_name', 'database_password')

不熟悉 python 的开发,之前直接网上复制的链接信息,本地调试也能用,就没有怀疑这个链接的问题。刚才参考 pymysql 的链接配置,将数据库名和密码调换了下位置,就可以了。

感谢各位朋友的指教,谢谢。结贴。
DoUSeeMe
2020-04-20 15:14:08 +08:00
可能是交易不足
aydd2004
2020-04-20 15:47:19 +08:00
@MrMike
conn = pymysql.connect(
host=“你的数据库地址”,
user=“用户名”,password=“密码”,
database=“数据库名”,
charset=“utf8”)
我都这么些 ,这样顺序颠倒也没事好像
smallgoogle
2020-04-20 15:55:01 +08:00
端口设置一下。端口要 int 类型。str 类型好像就不可以。
nicebird
2020-04-20 16:47:37 +08:00
这里面任意一个参数不对,都可能,检查吧。
qianc1990
2020-04-20 18:13:18 +08:00
楼主应该是没有指定关键字参数
MrMike
2020-04-21 00:31:21 +08:00
@aydd2004 应该是跟我没有跟关键字的原因,不跟关键字的话,可能对参数顺序有要求。现在问题解决了。谢谢。
Weixiao0725
2020-04-21 07:50:31 +08:00
乌龙贴
close

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/664190

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX