当前位置: 首页 > 图灵资讯 > 行业资讯> python连接数据库失败怎么解决

python连接数据库失败怎么解决

发布时间:2025-09-18 14:11:00

Python 如何解决连接数据库的失败?

什么是 PyMySQL?

PyMySQL 是在 Python3.x 用于连接版本 MySQL Mysqldb用于Python2中的服务器库。

PyMySQL 遵循 Python 数据库 API v2.0 并包含了规范 pure-Python MySQL 客户端库。

在使用 PyMySQL 以前,我们需要保证 PyMySQL 已安装。

PyMySQL 下载地址:https://github.com/PyMySQL/PyMySQL。

相关推荐:Python教程

如果没有安装,我们可以使用以下命令来安装最新版本 PyMySQL:

$pip3installPyMySQL

以下示例链接 Mysql 的 TESTDB 数据库:

#!/usr/bin/python3
importpymysql
#打开数据库连接
db=pymysql.connect("localhost","testuser","test123","TESTDB")
#使用cursor()创建一个游标对象cursor
cursor=db.cursor()
#SQL查询采用execute()方法执行
cursor.execute("SELECTVERSION()")
#使用fetchone()获取单个数据.
data=cursor.fetchone()
print("Databaseversion:%s"%data)
#关闭数据库连接
db.close()

报错如下:

Traceback(mostrecentcalllast):
File"/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pymysql/connections.py",line582,
inconnect
**kwargs)
File"/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/socket.py",line727,increate_connection
raiseerr
File"/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/socket.py",line716,increate_connection
sock.connect(sa)
ConnectionRefusedError:[Errno61]Connectionrefused

Duringhandlingoftheaboveexception,anotherexceptionoccurred:

Traceback(mostrecentcalllast):
File"mysql_conn.py",line6,in<module>
db=pymysql.connect("localhost","root","201995zjh","ryan")
File"/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pymysql/__init__.py",line94,
inConnect
returnConnection(*args,**kwargs)
File"/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pymysql/connections.py",line327,
in__init__
self.connect()
File"/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pymysql/connections.py",line629,
inconnect
raiseexc
pymysql.err.OperationalError:(2003,"Can'tconnecttoMySQLserveron'localhost'([Errno61]Connectionrefused)")

已确定安装 PyMySQL 当数据库账号密码没有问题时,仍然无法连接 MySQL,

最后只剩下两种可能:

1. 运行 mysqladmin variables | grep socket 获取套接字的位置,并尝试设置以下连接:

pymysql.connect(db='base',user='root',passwd='pwd',unix_socket="/tmp/mysql.sock")

2. 运行 mysqladmin variables | grep port 并验证端口为3306。如果没有,您可以手动设置端口,如下所示:

pymysql.connect(db='base',user='root',passwd='pwd',host='localhost',port=XXXX)

相关文章

python连接数据库失败怎么解决

python连接数据库失败怎么解决

2025-09-18
python3如何提取汉字

python3如何提取汉字

2025-09-18
python中乘号怎么写

python中乘号怎么写

2025-09-18
怎么配置python

怎么配置python

2025-09-18
python 3.4和3.5区别有哪些

python 3.4和3.5区别有哪些

2025-09-18
python怎样清屏

python怎样清屏

2025-09-18