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") # 打开数据库,配置数据库
就可以了