无法连接到 'localhost:3306' 上的 MySQL 服务器,即使 mysqld 在端口 3306 上是 运行
Can't connect to MySQL server on 'localhost:3306' even though mysqld is running on port 3306
正在尝试使用 mysql-连接器通过 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,那么它就可以正常工作。我做错了什么吗?
Localhost ip 127.0.0.1.
您的 mysql 实例是在那个 ip 上侦听还是在外部 ip 上侦听?
即使我在安装时也遇到了同样的错误。所以如果你已经安装了它,请先卸载它并删除文件夹 C:\ProgramData\MySQL。
完成后下载文件并安装它。
注意:安装时将端口号更改为3307或3308,按照一些youtube视频正常安装。唯一的变化应该是端口号3306⚠️(显示端口已被使用)到3307或3308或其他任何东西。
在出现⚠️的地方更改目录或端口号。
最后,在通过 mysqlworkbench 启动新数据库时,将端口更改为 3307 或 3308,就像安装 .
如果连接已经以 root 身份存在,请右键单击并按编辑连接并将端口更改为 3307,然后按测试 connection.It 将起作用。
如果您遇到任何错误,请回复
使用 mysql 安装程序重新配置 mysql 服务器对我有效
正在尝试使用 mysql-连接器通过 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,那么它就可以正常工作。我做错了什么吗?
Localhost ip 127.0.0.1.
您的 mysql 实例是在那个 ip 上侦听还是在外部 ip 上侦听?
即使我在安装时也遇到了同样的错误。所以如果你已经安装了它,请先卸载它并删除文件夹 C:\ProgramData\MySQL。 完成后下载文件并安装它。
注意:安装时将端口号更改为3307或3308,按照一些youtube视频正常安装。唯一的变化应该是端口号3306⚠️(显示端口已被使用)到3307或3308或其他任何东西。 在出现⚠️的地方更改目录或端口号。
最后,在通过 mysqlworkbench 启动新数据库时,将端口更改为 3307 或 3308,就像安装 .
如果连接已经以 root 身份存在,请右键单击并按编辑连接并将端口更改为 3307,然后按测试 connection.It 将起作用。 如果您遇到任何错误,请回复
使用 mysql 安装程序重新配置 mysql 服务器对我有效