InterfaceError: 2003: Can't connect to MySQL server on 'localhost:3306' (13 Permission denied)

InterfaceError: 2003: Can't connect to MySQL server on 'localhost:3306' (13 Permission denied)

我正在尝试使用 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 [youruser] -p

  • 如果 SELinux 是 运行,确保 "httpd_can_network_connect_db" 布尔值设置为开。检查 sudo getsebool httpd_can_network_connect_db。如果返回为 "off,",则将其设置为 "on" 和 sudo setsebool -P httpd_can_network_connect_db on。 (确保包含 -P,否则如果系统重新启动,它将恢复为原始值。)