我正在尝试使用 python CGI 框架在 apache2 服务器上托管一个应用程序。程序编译后工作正常,没有错误。 当我在网络浏览器上尝试时,出现错误。
InterfaceError: 2003: Can't connect to MySQL server on 'localhost:3306' (13 Permission denied)
我尝试安装 mysql-connector-python 并检查是否缺少任何内容。一切似乎都很好。下面是详细的错误代码。
def connectdb():
mydb = mx.connect(host='localhost',user='******',passwd='********',database='searchdb')
cur=mydb.cursor()
return mydb,cur
尝试访问程序时出错。
Traceback (most recent call last):
File "/var/www/html/ftest.py", line 116, in <module>
mydb,cur=connectdb()
File "/var/www/html/ftest.py", line 55, in connectdb
mx.connect(host='localhost',user='*****',passwd='********',database='searchdb')
File "/usr/lib/python2.7/site-packages/mysql/connector/__init__.py", line 98, in connect
return MySQLConnection(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/mysql/connector/connection.py", line 118, in __init__
self.connect(**kwargs)
File "/usr/lib/python2.7/site-packages/mysql/connector/connection.py", line 382, in connect
self._open_connection()
File "/usr/lib/python2.7/site-packages/mysql/connector/connection.py", line 345, in _open_connection
self._socket_open_connection()
File "/usr/lib/python2.7/site-packages/mysql/connector/network.py", line 386, in _open_connection
errno=2003, values=(self.get_address(), _strioerror(err)))
InterfaceError: 2003: Can't connect to MySQL server on 'localhost:3306' (13 Permission denied)
这是我面临的错误。任何熟悉此问题的人请告诉我。
谢谢。
最佳答案
假设这是一台 Linux 机器,需要检查一些事情:
确保您可以使用相同的用户名和密码进行本地连接。
mysql -u [你的用户] -p
如果 SELinux 正在运行,请确保“httpd_can_network_connect_db” bool 值设置为 on。使用 sudo getsebool httpd_can_network_connect_db 检查。如果它返回为“关闭”,请使用 sudo setebool -P httpd_can_network_connect_db on 将其设置为“打开”。 (请确保包含 -P,否则如果系统重新启动,它将恢复为原始值。)
关于python - 接口(interface)错误: 2003: Can't connect to MySQL server on 'localhost:3306' (13 Permission denied),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56710007/