首页  >  文章  >  数据库  >  为什么我无法使用 PyMySQL 连接到本地主机上的 MySQL?

为什么我无法使用 PyMySQL 连接到本地主机上的 MySQL?

DDD
DDD原创
2024-11-04 11:51:12783浏览

Why Can't I Connect to MySQL on Localhost with PyMySQL?

在本地主机上使用 PyMySQL 连接到 MySQL 时出现问题

尝试使用 PyMySQL 在本地主机上建立与 MySQL 的连接时:

<code class="python">import pymysql
conn = pymysql.connect(db='base', user='root', passwd='pwd', host='localhost')</code>

人们可能会遇到以下错误:

socket.error: [Errno 111] Connection refused
pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (111)")

尽管通过 mysql 命令或 phpMyAdmin 成功连接确认 MySQL 正在运行,但该问题在 Python 2.7 和 Python 3.2 中仍然存在。此外,在 Python 2 中使用 MySQLdb 可以使用几乎相同的代码片段。

潜在解决方案

此问题的两种可能的解释:

  1. 套接字位置:使用 mysqladmin 变量 | grep socket 来识别套接字位置并使用以下命令进行连接:
<code class="python">pymysql.connect(db='base', user='root', passwd='pwd', unix_socket="/tmp/mysql.sock")</code>
  1. 端口分配:使用 mysqladmin 变量检查端口是否设置为 3306 | grep 端口。如果不同,请手动指定连接中的端口:
<code class="python">pymysql.connect(db='base', user='root', passwd='pwd', host='localhost', port=XXXX)</code>

以上是为什么我无法使用 PyMySQL 连接到本地主机上的 MySQL?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn