开发者社区> 问答> 正文

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

我正在尝试使用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,但我不知道如何解决。

展开
收起
保持可爱mmm 2020-05-17 22:07:25 1607 0
1 条回答
写回答
取消 提交回答
  • 两个猜测:

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

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

    pymysql.connect(db='base', user='root', passwd='pwd', host='localhost', port=XXXX)来源:stack overflow

    2020-05-17 22:09:45
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像