python使用pymysql连接数据库报错err.OperationalError: (1698, “Access denied for user ‘root’@‘localhost’”)

1、问题:

pymysql.err.OperationalError: (1698, "Access denied for user 'root'@'localhost'")

2、配置:

Python3.8 + MySQL +Ubuntu20.4

3、错误

使用python库pymysql连接数据库(不设置密码)报以上错误

代码:db = pymysql.connect(host="localhost", user="root", password="", database="dialogdiagnosis") # 打开数据库,配置数据库

4、原因:

发现是由于ubuntu安装MySQL没有设置密码,所以连接拒绝访问。

5、解决方法:

为MySQL数据库相应的用户设置密码——登录MySQL,使用命令mysql> set password for 用户名@localhost = password('新密码');设置密码

例如:mysql> set password for root@localhost = password('123');

之后使用db = pymysql.connect(host="localhost", user="root", password="123", database="dialogdiagnosis") # 打开数据库,配置数据库就可以了

参考: 关于mysql出现1356错误_概念の龍的博客-CSDN博客_1356 mysql

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐