mysql - 即使 mysqld 在端口 3306 上运行,也无法连接到“localhost:3306”上的 MySQL 服务器
问题描述
尝试使用 mysql-connector 通过 python 连接到 mysql,但出现此错误:
Traceback (most recent call last):
File "/var/www/html/cloudlab/env/lib/python3.6/site-packages/mysql/connector/network.py", line 509, in open_connection
self.sock.connect(sockaddr)
ConnectionRefusedError: [Errno 111] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "./get_stf_file_names.py", line 26, in update_aws_script_details
database="service_portal"
File "/var/www/html/cloudlab/env/lib/python3.6/site-packages/mysql/connector/__init__.py", line 179, in connect
return MySQLConnection(*args, **kwargs)
File "/var/www/html/cloudlab/env/lib/python3.6/site-packages/mysql/connector/connection.py", line 95, in __init__
self.connect(**kwargs)
File "/var/www/html/cloudlab/env/lib/python3.6/site-packages/mysql/connector/abstracts.py", line 716, in connect
self._open_connection()
File "/var/www/html/cloudlab/env/lib/python3.6/site-packages/mysql/connector/connection.py", line 206, in _open_connection
self._socket.open_connection()
File "/var/www/html/cloudlab/env/lib/python3.6/site-packages/mysql/connector/network.py", line 512, in open_connection
errno=2003, values=(self.get_address(), _strioerror(err)))
mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on 'localhost:3306' (111 Connection refused)
我检查了 mysqld 是否正在使用端口 3306,它是:
netstat -lnp | grep 3306
这给了:
tcp 0 0 my-ip:3306 0.0.0.0:* LISTEN 12003/mysqld
我也试过这个命令,它工作得很好:
mysql -h localhost -u root -p
(就像我可以使用它连接到数据库一样)
我正在尝试通过以下方式访问数据库:
mydb = mysql.connector.connect(host="localhost",user="****",
passwd="****",
database="**********"
)
cursor = mydb.cursor(dictionary=True)
如果我将上述命令中的 localhost 更改为 my-ip,则可以正常工作。有什么我做错了吗?
解决方案
本地主机它是一个 ip 127.0.0.1。
您的 mysql 实例是在侦听该 IP 还是在外部 IP 上?
推荐阅读
- r - Grouping, Selecting, and Mutate using R
- reactjs - Graphql 查询在 AppSync 控制台上运行良好,但在客户端抛出错误
- python-3.x - How to efficiently extract the most inner content inside this class?
- mysql - 如何将重达 166MB 的数据库导入 MySQL?
- html - React JS 在带有 reactstrap 的页面中多次使用引导轮播
- r - R中的Paste0返回日期的奇怪值
- angular - 使用秋田数据存储,如何选择所有基于 OR 的 2 个属性匹配的项目?
- javascript - 将 NodeList 变成唯一数组不起作用
- python - 无法向浏览器烧瓶返回响应
- javascript - 在输入文件类型标签中直接打开原生图片文件上传对话框