pymysql连接,报错不知道怎么修改

书写的代码:

1.导 pymysql 包

import pymysql

if name == 'main':

# 2.创建连接对象
conn = pymysql.connect(
    host='localhost',
    user="root",
    password='mysql',
    database='py',
    port=3306,
    charset='utf8')
# 3.创建游标对象 连接对象.cursor()
cursor = conn.cursor()
# 4.执行 SQL 语句
# 4.1 书写 SQL 语句
sql = 'select * from stu;'
# 4.2 执行 SQL 语句
# 游标对象.execute(sql 语句) 返回值是影响的行数
# 对于查询操作来说,查询出来的数据结果保存在游标对象中
row = cursor.execute(sql)
print(f'{row} rows in set')
# 获取查询结果,查询结果是元组类型
print(cursor.fetchone())   # 获取一条查询结果
# 对于游标中保存的数据,只能获取一次,获取之后就不能再次获取了
print('-' * 30)
print(cursor.fetchall())   # 获取所有的数据,类型是元组
# 5.关闭游标
cursor.close()
# 6.关闭连接对象
conn.close()

报错内容:
/Users/xiexiang/Downloads/代码/python/16.正则表达式/pythonProject/venv/bin/python /Users/xiexiang/Downloads/代码/python/16.正则表达式/pythonProject/222.py
Traceback (most recent call last):
File "/Users/xiexiang/Downloads/代码/python/16.正则表达式/pythonProject/venv/lib/python3.9/site-packages/pymysql/connections.py", line 644, in connect
sock = socket.create_connection(
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/socket.py", line 843, in create_connection
raise err
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/socket.py", line 831, in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 61] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/Users/xiexiang/Downloads/代码/python/16.正则表达式/pythonProject/222.py", line 6, in
conn = pymysql.connect(
File "/Users/xiexiang/Downloads/代码/python/16.正则表达式/pythonProject/venv/lib/python3.9/site-packages/pymysql/connections.py", line 358, in init
self.connect()
File "/Users/xiexiang/Downloads/代码/python/16.正则表达式/pythonProject/venv/lib/python3.9/site-packages/pymysql/connections.py", line 711, in connect
raise exc
pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' ([Errno 61] Connection refused)")

进程已结束,退出代码为 1

展开
收起
游客eve3wuwyarvyi 2024-03-12 12:03:37 113 分享 版权
1 条回答
写回答
取消 提交回答
  • 将军百战死,壮士十年归!

    这个错误通常表示无法连接到 MySQL 服务器。可能的原因有以下几点:

    1. MySQL 服务器未启动:请确保 MySQL 服务器已经正常启动并且正在运行。
    2. 连接参数错误:检查代码中连接参数(如主机名、用户名、密码、数据库等)是否正确。
    3. 网络问题:确保你的计算机与 MySQL 服务器之间的网络连接正常,可以尝试检查网络设置或重启网络设备。
    4. 防火墙或安全设置:防火墙可能阻止了与 MySQL 服务器的连接。你可以检查防火墙设置并确保允许连接到 MySQL 服务器的端口(通常是 3306)。
    5. MySQL 服务器配置问题:检查 MySQL 服务器的配置,确保它允许远程连接。

    你可以按照以下步骤进行排查:

    1. 确认 MySQL 服务器是否正在运行,可以通过登录到服务器或者检查相关的服务状态来确认。
    2. 检查连接参数是否正确,包括主机名、用户名、密码和数据库名称。
    3. 检查网络连接,确保你的计算机可以访问到 MySQL 服务器。
    4. 检查防火墙设置,确保端口 3306 没有被阻塞。
    5. 确保你有足够的权限来连接到 MySQL 服务器。
    2024-03-12 14:53:23
    赞同 展开评论