Python MySQLdb连接

2024-05-13 17:54:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我想将我的数据从json传输到mysql,为此我安装了python库MySQLdb。它成功导入,但在连接时出错

>>> import MySQLdb
>>> db=MySQLdb.connect(passwd="king123",db="thangs")

Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    db=MySQLdb.connect(passwd="king123",db="thangs")
  File "C:\Python27\lib\site-packages\MySQLdb\__init__.py", line 81, in Connect
    return Connection(*args, **kwargs)
  File "C:\Python27\lib\site-packages\MySQLdb\connections.py", line 187, in __init__
    super(Connection, self).__init__(*args, **kwargs2)
OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (10061)")

>>> import _mysql
>>> db=_mysql.connect()

Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    db=_mysql.connect()
OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (10061)")

db=MySQLdb.connect(passwd="rat123",db="thangs",host="localhost",port=1028,user="mroot")

Traceback (most recent call last):
  File "<pyshell#41>", line 1, in <module>
db=MySQLdb.connect(passwd="king123",db="thangs",host="localhost",port=1028,user="munieb")


File "C:\Python27\lib\site-packages\MySQLdb\__init__.py", line 81, in Connect
    return Connection(*args, **kwargs)
  File "C:\Python27\lib\site-packages\MySQLdb\connections.py", line 187, in __init__
    super(Connection, self).__init__(*args, **kwargs2)
OperationalError: (2013, "Lost connection to MySQL server at 'waiting for initial communication packet', system error: 2")

Tags: inpydbinitlibpackagesconnectline
2条回答

您需要指定server and point

db=MySQLdb.connect(passwd="king123",db="thangs",host="hostname",port=3251,user="user")

我也有同样的问题,对我来说,问题是mysql监听端口3305的ip地址。通过netstat -aon我看到:

Proto  Local Address          Foreign Address        State           PID
...
TCP    0.0.0.0:3306            0.0.0.0:0              LISTENING       884
...

所以我取消了my.ini配置文件下面的注释行:

#bind-address="127.0.0.1" 

然后重新启动mysql,问题就解决了!

相关问题 更多 >