当前位置: 首页 > 面试题库 >

PyMySQL无法连接到本地主机上的MySQL

壤驷德宇
2023-03-14
问题内容

我正在尝试使用PyMySQL连接到本地主机上的MySQL:

import pymysql
conn = pymysql.connect(db='base', user='root', passwd='pwd', host='localhost')

但是(在Python 2.7和Python 3.2上)我得到了错误:

socket.error:[Errno 111]连接被拒绝

pymysql.err.OperationalError:(2003年,“无法连接到’localhost’(111)上的MySQL服务器”)

我确定mysqld正在运行,因为我可以使用mysqlcommand或phpMyAdmin 进行连接。而且,我可以在Python
2上使用MySQLdb使用几乎相同的代码进行连接:

import MySQLdb
conn = MySQLdb.connect(db='base', user='root', passwd='pwd', host='localhost')

看来问题出在PyMySQL方面,而不是MySQL,但我不知道如何解决。


问题答案:

两个猜测:

  1. 运行mysqladmin variables | grep socket以获取套接字所在的位置,然后尝试像这样建立连接:

    pymysql.connect(db='base', user='root', passwd='pwd', unix_socket="/tmp/mysql.sock")
    
  2. 运行mysqladmin variables | grep port并验证端口为3306。如果不是,则可以手动设置端口,如下所示:

    pymysql.connect(db='base', user='root', passwd='pwd', host='localhost', port=XXXX)
    


 类似资料:
  • 试图连接一个简单的JMX监控。托管应用程序和监控工具位于同一台服务器上。当试图连接一个错误 00:30:55610致命http-8080-6 SiteListener:makeJmxConnection:99-java.io。IOException:检索RMIServer存根失败:javax.naming。ServiceUnavailableException[根异常为java.rmi.Conne

  • 问题内容: 我最近在Windows 2003上安装了MySQL 5,并尝试配置实例。一切正常,直到我进入“应用安全设置”,这时才出现上述错误()。 我的防火墙中确实存在“ MySQL Server”的端口3306异常。 问题答案: 您可能必须向用户授予表上的“ localhost”特权。请参阅语法文档。这是一个示例(来自C语言)。 “在%s上授予所有特权。*由’%s’标识为’%s’@’本地主机’”

  • 我试图测试一些普罗米修斯度量,通过推动到本地push网关。push网关docker映像正在运行,当我使用:http://localhost:9091/metrics时,我可以在浏览器中看到它 然而,当我运行python脚本来推送指标时,我得到一个404错误。 错误:urllib2。HTTPError:HTTP错误404:未找到 推送地址中有我遗漏的东西吗?我已尝试添加/度量,但存在相同的错误

  • 这让我很困惑。 我有一个运行nginx-php-fpm的本地开发设置,我在其中使用.localhost作为每个项目的工作域。昨天Chrome停止了与本地域的合作。相反,它只是返回被拒绝的连接。DevTools将错误显示为net::ERR\u CONNECTION\u RESET。 访问http://127.0.0.1工作,但当然不适用于本地项目。 Safari继续与.localhost一起工作。

  • 问题内容: 由于wamp服务器,我试图将我的android应用程序连接到本地主机url,但它不起作用。我的目标是获取json数据并解析这些数据。对于我的测试,我使用的是设备而不是模拟器,并且使用AndroidManifest.xml中的权限: 我的网址看起来像这样: 我试过了 : 但是到目前为止,它从未起作用: 然后我尝试了在互联网上找到的json url测试:http : //headers.j

  • 问题内容: 我在Windows 7上使用 mysql-installer-5.5.20.0.msi 安装了MySQL 。在cmd窗口中,运行“ mysqlshow -u root -p”。它要求输入密码,然后返回此错误:“无法连接到’localhost’上的MySQL服务器(10061)”。这是部分失败/成功安装的错误指示。 阅读页面http://dev.mysql.com/doc/refman/