如何解决Mysql ([Errno 111] 连接被拒绝)")
我想连接 python 和 MySQL。在我的本地计算机上,我是这样的:
connection = pymysql.connect(host='127.0.0.1',user='test',password='password',database='database_name')
这对我有用。但是当我尝试在 VPS 上执行此操作时,出现了一个错误:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/pymysql/connections.py",line 920,in connect
**kwargs)
File "/usr/lib/python3.6/socket.py",line 724,in create_connection
raise err
File "/usr/lib/python3.6/socket.py",line 713,in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
During handling of the above exception,another exception occurred:
Traceback (most recent call last):
File "save_payments.py",line 13,in <module>
database='payment_reg')
File "/usr/lib/python3/dist-packages/pymysql/__init__.py",line 90,in Connect
return Connection(*args,**kwargs)
File "/usr/lib/python3/dist-packages/pymysql/connections.py",line 699,in __init__
self.connect()
File "/usr/lib/python3/dist-packages/pymysql/connections.py",line 967,in connect
raise exc
pymysql.err.OperationalError: (2003,"Can't connect to MySQL server on '127.0.0.1' ([Errno 111] Connection refused)")
怎么了? VPS admin告诉我mysql中的unix socket,但是我不知道怎么实现。
解决方法
当使用错误的端口时,
curl -I localhost:33006
我收到错误“curl:(7)无法连接到本地主机端口 33006:连接被拒绝”
请问您需要更改端口吗?
conn = pymysql.connect(
host='localhost',#charset='utf8mb4'
port=3306,user='root',passwd='',db='Work'
)
有时使用地址启动应用程序可能会有不同的结果
if __name__ == '__main__':
app.run_server(host='127.0.0.1',port='8050',debug=True)
if __name__ == '__main__':
app.run_server(host='0.0.0.0',debug=True)
可能还有很多原因,比如打开了防火墙。你看到sql server上的日志了吗?这样就可以找到sql server没有响应的任何原因
,问题出在 mysql 设置中。它只监听套接字连接。我加了
bind-address = 127.0.0.1
在 my.cnf
中,并评论了所有包含 word socket 的行))))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。