当前位置: 首页 > news >正文

【沉浸式解决问题】mysql-connector-python连接数据库:RuntimeError: Failed raising error.

目录

  • 一、问题描述
  • 二、场景还原
    • 1. 创建项目
    • 2. 安装mysql-connector-python
    • 3. 测试类
  • 三、原因分析
  • 四、解决方案
    • 1. 查看版本
    • 2. 切换python版本
    • 3. 切换mysql-connector-python版本
    • 4. 测试
  • 参考文献

一、问题描述

初次使用mysql-connector-python连接mysql时报错

Traceback (most recent call last):File "D:\Data\WorkSpace\PyCharm\Test\uv-test\tests\mysql_test\mysql_test.py", line 12, in <module>conn = mysql.connector.connect(**config)File "D:\Data\WorkSpace\PyCharm\Test\uv-test\.venv\Lib\site-packages\mysql\connector\pooling.py", line 322, in connectreturn CMySQLConnection(*args, **kwargs)File "D:\Data\WorkSpace\PyCharm\Test\uv-test\.venv\Lib\site-packages\mysql\connector\connection_cext.py", line 142, in __init__self.connect(**kwargs)~~~~~~~~~~~~^^^^^^^^^^File "D:\Data\WorkSpace\PyCharm\Test\uv-test\.venv\Lib\site-packages\mysql\connector\abstracts.py", line 1604, in connectself._open_connection()~~~~~~~~~~~~~~~~~~~~~^^File "D:\Data\WorkSpace\PyCharm\Test\uv-test\.venv\Lib\site-packages\mysql\connector\connection_cext.py", line 354, in _open_connectionself._cmysql.connect(**cnx_kwargs)~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
RuntimeError: Failed raising error.

在这里插入图片描述


二、场景还原

1. 创建项目

【保姆级喂饭教程】uv教程一文讲透:安装,创建,配置,工具,命令

2. 安装mysql-connector-python

uv add mysql-connector-python

在这里插入图片描述

3. 测试类

import mysql.connectorconfig = {"host": "127.0.0.1","port": 3306,"user": "root","password": "root","database": "test"
}conn = mysql.connector.connect(**config)
cursor = conn.cursor()
cursor.execute("SELECT 1")
print(cursor.fetchall())  # 输出查询结果
cursor.close()
conn.close()

三、原因分析

  1. 配置错误
    可能是连接数据库配置有误,这个很容易就排除了

  2. 版本冲突
    可能是mysql-connector-python、MySQL、python之间版本冲突

查看MySQL官网的版本对应关系:
Connector/Python 版本发布
在这里插入图片描述
我的MySQL版本低,但是python版本高,应该就是这个原因了


四、解决方案

1. 查看版本

查看python、MySQL、mysql-connector-python版本

python -V
mysql -V
uv pip show mysql-connector-python

在这里插入图片描述
根据版本关系图,我的MySQL5.7最高配python3.11,而现在时3.13,没有能用的mysql-connector-python版本,MySQL不容易随便换,换python版本比较容易

2. 切换python版本

安装python 3.11并切换虚拟环境版本,GitHub加速也下载不下来,手动安装了,具体教程可以看
【保姆级喂饭教程】uv教程一文讲透:安装,创建,配置,工具,命令

uv python install 3.11 --mirror file:///D:\Program\Work\uv\python-mirror
uv python pin 3.11

在这里插入图片描述

补充:
在另一个原生就是python3.13的项目,切换3.11失败

error: The requested Python version `3.11` is incompatible with the project `requires-python` value of `>=3.13`.

在这里插入图片描述
需要到pyproject.toml里面把3.13改为3.11
在这里插入图片描述

3. 切换mysql-connector-python版本

先卸载,再安装指定版本

uv remove mysql-connector-python
uv add mysql-connector-python==8.0.33

由于更换了python版本,第一次运行uv会删除虚拟环境并重新创建
在这里插入图片描述
版本号要写详细,否则找不到,具体版本可以去之前设置的清华镜像源上去找
https://pypi.tuna.tsinghua.edu.cn/simple/mysql-connector-python/
在这里插入图片描述

在这里插入图片描述

4. 测试

再次执行,没有问题
在这里插入图片描述

参考文献

python连接mysql 报错RuntimeError: Failed raising error
pycharm连接mysql失败 但IDLE成功


喜欢的点个关注吧><!祝你永无bug!

/*_ooOoo_o8888888o88" . "88(| -_- |)O\  =  /O____/`---'\____.'  \\|     |//  `./  \\|||  :  |||//  \/  _||||| -:- |||||-  \|   | \\\  -  /// |   || \_|  ''\---/''  |   |\  .-\__  `-`  ___/-. /___`. .'  /--.--\  `. . __."" '<  `.___\_<|>_/___.'  >'"".| | :  `- \`.;`\ _ /`;.`/ - ` : | |\  \ `-.   \_ __\ /__ _/   .-` /  /
======`-.____`-.___\_____/___.-`____.-'======`=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^佛祖保佑       永无BUG
*/
http://www.dtcms.com/a/320309.html

相关文章:

  • React.memo
  • 【C#补全计划:类和对象(十)】密封
  • 阿里云可观测 2025 年 7 月产品动态
  • MCU中的USB
  • 虚拟乐队“天鹅绒落日”:AI生成音乐引发的行业风暴
  • STM32——STM32CubeMX
  • 【华为机试】113. 路径总和 II
  • Java异常处理机制深度解析:构建健壮程序的核心
  • C++ AVL树实现详解:理论+代码+图解
  • 使用Cloud Document Converter将飞书文档导出为markdown
  • 神经网络中一般都包含哪些关键层,每一层的作用是什么?
  • Gemini-CLI-项目原理流程总结
  • 大模型2位量化原理解析
  • Redis面试精讲 Day 16:Redis性能监控与分析工具
  • Microsoft Office PowerPoint 制作简单的游戏素材
  • 腾讯位置服务 —— 预估订单路线金额(使用Drools规则引擎处理)
  • Gitee上免费搭建博客
  • 基于C++深度学习 (NCNN、MNN、OpenVINO)OpenCV 等实践
  • 第二集 测试概念
  • 8月7号打卡
  • python---函数的形参与实参
  • C++的入门学习
  • 拷贝数组练习
  • 瞬态吸收光谱仪的基本原理
  • Ubuntu 系统 Docker 启动失败(iptables/nf\_tables)
  • 【CodeButty + 自制MCP】给AI装上翅膀,快速绘制思维导图
  • 驱动-设备树插件注册子系统
  • 【机器学习深度学习】大模型应用落地:微调与RAG的角色与实践
  • 为什么需要日志收集系统
  • 人工智能——自动微分