首页 新闻 搜索 专区 学院

python3.6连接mysql失败

0
悬赏园豆:5 [已解决问题] 解决于 2018-07-12 20:25

使用python连接数据库代码如下:

db = pymysql.connect(host='localhost',
user='root',
passwd='123456',
db='test123',
port=3306,
charset='utf8')

报错pymysql.err.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: NO)")

但是我可以使用这个密码直接登录mysql

求帮助!!!

问题补充:

我看网上有类似的错误但是错误最后是yes,我这里是no是不是有什么设置不一样。另外我把密码设置为空就可以连接上了,我的mysql是最新的8.0好像验证方式和5点多的有些不同?

水墨的心的主页 水墨的心 | 菜鸟二级 | 园豆:361
提问于:2018-06-21 12:00
< >
分享
最佳答案
0

是不是不认识“localhost”,改成ip试试:127.0.0.1

收获园豆:2
会长 | 大侠五级 |园豆:9120 | 2018-06-21 15:03

不行啊。。还是报相同的错误

水墨的心 | 园豆:361 (菜鸟二级) | 2018-06-21 16:37

@会长: 我这个最后是no不是yes,我把密码设置成空可以了。。不知道是不是mysql8.0校验方式不一样了,不过还是感谢

水墨的心 | 园豆:361 (菜鸟二级) | 2018-06-21 19:02
其他回答(3)
0

你的root用户对应的host是%,那本地应该登陆不上的吧?还需要建一个root@localhost的用户吧。

收获园豆:1
AYard | 园豆:436 (菜鸟二级) | 2018-06-22 09:55
1

https://blog.csdn.net/dongweionly/article/details/80273095

收获园豆:1
自说自话唉 | 园豆:193 (初学一级) | 2018-06-25 13:52
0

修改mysql配置文件用mysql_native_password 参数启动。

收获园豆:1
codegay | 园豆:1804 (小虾三级) | 2018-06-26 11:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册