当前位置: 首页 >数据库 > mac电脑python连接本地mysql报错:pymysql.err.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: NO)")

mac电脑python连接本地mysql报错:pymysql.err.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: NO)")

配置:python3.6+pymysql+mysql8.0.21

问题:终端命令可正常进行连接mysql服务,pycharm中代码连接mysql报错

代码:

import pymysql

conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='password',db='auto_api',
charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor)

# 通过cursor创建游标
cursor = conn.cursor()
# 创建sql 语句
sql = "select * from api_id"
# 执行sql语句
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
print(results)

cursor.close() # 关闭游标连接
conn.close() # 关闭数据库连接

运行结果:
pymysql.err.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: NO)")

解决方案:更换root密码的认证方式-新版mysql使用的caching_sha2_password,换成mysql_native_password
步骤:
1、终端命令行连接mysql:
  mysql -u root -p
2、输入mysql登录密码
3、输入命令:
  ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
4、回车执行命令
5、返回下面内容代表执行成功
  Query OK, 0 rows affected (0.01 sec)

结果:再次执行pycharm中的代码成功返回数据库内容

作者:凝心叶子
来源链接:https://www.cnblogs.com/miracleflower/p/13712579.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaclub.cn/database/117708.html

分享给朋友:

“mac电脑python连接本地mysql报错:pymysql.err.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: NO)")” 的相关文章

MySQL表的增删改查(进阶) 2022年05月16日 21:54:11
sql递归查询 2022年05月17日 21:40:33
Oracle SQL 2022年06月05日 03:43:59
mysql 查询1小时内 2022年06月06日 12:59:30
mysql递归查询 2022年06月06日 18:26:30
mysql查询最后一条记录 2022年06月08日 19:25:45
MYSQL查询某字段为空的数据 2022年06月08日 21:35:13
Mysql查询用户最后一次登陆时间 2022年06月12日 13:54:22
关于mysql数据库连接异常处理 2022年06月12日 19:21:20