pymysql连接MySQL8的,亲测

pymysql连接MySQL8的,亲测原始链接代码 importpymysq pymysql connect host ip port user user password psd database db charset UTF8MB4 sql select from table limit100 try table pd read sql sql con finally con close 报错

原始链接代码:

import pymysql con = pymysql.connect(host='ip:port', user='user', password='psd', database='db', charset='UTF8MB4') sql = "select * from `table` limit 100" try: table = pd.read_sql(sql, con) finally: con.close() 

报错:

pymysql.err.OperationalError: (1045, u”Access denied for user ‘root’@‘localhost’ (using password: NO)”)

解决方法:

在mysql中解决:

通过mysql -uroot连接MySQL数据库

只是由于MySQL8.0对于密码的认证方式已经变为了caching_sha2_password,所以我们只需要改下连接用户的密码认证方式就OK了

进入MySQL更改认证方式,改为 mysql_native_password:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY ''; 

运行原始代码还是会报错

import pymysql con = pymysql.connect(host='ip:port', user='user', password='psd', database='db', charset='UTF8MB4') sql = "select * from `table` limit 100" try: table = pd.read_sql(sql, con) finally: con.close() 

因为在链接mysql8中,pymysql,参数:host=‘ip:port’ ,需要更改为host=‘ip’, port=port, 例如端口是3306,那么port=3306

import pymysql con = pymysql.connect(host='ip', port=3306, user='user', password='psd', database='db', charset='UTF8MB4') sql = "select * from `table` limit 100" try: table = pd.read_sql(sql, con) finally: con.close() 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/221793.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午5:17
下一篇 2026年3月17日 下午5:17


相关推荐

  • 使用再生龙还原镜像文件到硬盘

    使用再生龙还原镜像文件到硬盘1 nbsp 把制作好的再生龙光盘插入需要的电脑 开机按 F4 使用再生龙启动 2 nbsp 选择默认的 Clonezailla nbsp live Default nbsp settings VGA nbsp 800 600 然后等待几分钟 nbsp 3 nbsp 选择语言 简体中文 nbsp 4 nbsp 选择不修改键盘映射 nbsp 5 nbsp 选择使用再生龙 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 6 nbsp 选择硬盘 分区 存到 来自 镜像文件 此选项既可以制作镜像 也可以恢复镜像 nbsp 7 nbsp 使用本机的分区 nbsp nbsp nbsp nbsp nbsp

    2026年3月18日
    2
  • Archlinux安装教程及注意事项

    Archlinux安装教程及注意事项转载自 自用防失效 https www coolapk com feed shareKey ZDcyNzRmYzA5 amp shareUid amp shareFrom com coolapk market 11 4 3 个人参照此链接进行安装 同时说明途中遇到的问题及解决方案 archlinux 的安装教程 一 由于 archlinux 作为一个很激进的一个发行版所以它的安装方式在以后可能会与本篇文章有较多差异

    2026年2月2日
    7
  • slam技术是什么_技术文小说

    slam技术是什么_技术文小说什么是SLAM?SLAM(simultaneouslocalizationandmapping),也称为CML(ConcurrentMappingandLocalization),即时定位与地图构建,或并发建图与定位。问题可以描述为:将一个机器人放入未知环境中的未知位置,是否有办法让机器人一边逐步描绘出此环境完全的地图,同时一边决定机器人应该往哪个方向行进。例如扫地机器人就是一个很典型的SLAM问题,所谓完全的地图(aconsistentmap)是指不受障碍行进到房间可进入.

    2022年10月1日
    4
  • linux的软连接命令_linux软连接怎么用

    linux的软连接命令_linux软连接怎么用Linux命令之软连接详解。结合示例详细说明软链接的创建,同时给出如何正确删除一个软链接。

    2022年9月30日
    5
  • 3DES加密解密「建议收藏」

    3DES加密解密「建议收藏」C#3DES加密解密,JAVA、PHP可用

    2022年8月2日
    9
  • 大事件,Java被超越了,2021年5月TIOBE编程语言排行榜出炉

    大事件,Java被超越了,2021年5月TIOBE编程语言排行榜出炉TIOBE头条TIOBE5月编程语言排行榜新鲜出炉。前十榜单中,C、Python、Java三大鳌头仍占据前三榜单。去年11月,Python短时间的挤掉Java跃居至榜单第二名;今年5月,Python再次挤掉Java,再度夺下榜二。TIOBE排行榜是世界上权威编程语言排行榜,注意,它只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,毕竟术业有专攻。TIOBE开发语言排行榜每月更新一次,其结果作为当前业内程序开发语言的流行使用程度的有效指标。该指数可以用来检阅开发者的编程技能能否跟上趋势,

    2025年8月8日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号