首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >即使mysqld在端口3306上运行,也无法连接到'localhost:3306‘上的MySQL服务器

问即使mysqld在端口3306上运行,也无法连接到'localhost:3306‘上的MySQL服务器
EN

Stack Overflow用户
提问于 2019-04-22 06:31:45
回答 3查看 14.1K关注 0票数 1

试图使用mysql -连接器通过python连接mysql,但我得到了以下错误:

代码语言:javascript
复制
 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,它是:

代码语言:javascript
复制
netstat -lnp | grep 3306

它提供了:

代码语言:javascript
复制
tcp        0      0 my-ip:3306      0.0.0.0:*               LISTEN      12003/mysqld

我还尝试了这个命令,它运行得很好:

代码语言:javascript
复制
mysql -h localhost -u root -p

(就像我可以使用它连接到数据库一样)

我试图以以下方式访问数据库:

代码语言:javascript
复制
mydb = mysql.connector.connect(host="localhost",user="****",
    passwd="****",
    database="**********"
    )
    cursor = mydb.cursor(dictionary=True)

如果我将上面命令中的localhost更改为my,那么它可以正常工作。我做错什么了吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-04-22 06:34:21

本地主机它是一个ip 127.0.0.1。

您的mysql实例是否正在监听该ip或外部ip?

票数 1
EN

Stack Overflow用户

发布于 2019-05-05 13:00:21

即使我在安装.So时也遇到了同样的错误--如果您已经安装了它,那么首先卸载它并删除文件夹C:\ProgramData\MySQL。完成后,下载并安装该文件。

注意:在安装时,将端口号更改为3307或3308,然后按照youtube视频正常安装,.The只应更改端口号3306⚠️(显示端口已在使用)为3307或3308或其他任何东西。无论⚠️出现在何处,请更改目录或端口号。

最后,在通过mysqlworkbench启动新数据库时,将端口更改为3307或3308,就像安装时所做的那样。

如果连接已经作为根用户存在,右键单击并按下,编辑连接并将端口更改为3307,然后按一下test connection.It就可以了。如果您有任何错误,请回复。

票数 0
EN

Stack Overflow用户

发布于 2022-05-06 09:40:00

​

​

使用mysql安装程序重新配置mysql服务器为我工作。

来源

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55790121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档