MySQL错误:2013年,"在'读取初始通信数据包'时失去与MySQL服务器的连接',系统错误:0"

Sco*_*t R 19 python mysql

我在使用Python的MySQLdb库连接到我的本地MySQL数据库时遇到问题.该脚本以前运行良好,但我偶尔会在标题中得到MySQL错误.似乎没有解释何时发生错误,并且脚本始终从具有相同参数的同一台机器运行.

MySQL服务器使用端口3306(本地托管的phpMyAdmin工作)在Windows XP SP3上作为服务运行,并且脚本从Oracle VM VirtualBox中的Ubuntu 10.04客户机操作系统运行.

我目前正在解决这个问题,打开命令提示符并执行'net stop MySQL'然后'net start MySQL'.这允许我再次运行脚本几次,然后导致错误,我一直在通过重新启动MySQL服务来修复.

由于我仍在对脚本进行更改,因此有时脚本会引发异常并且不会正常退出,但我会捕获异常并关闭游标和连接.

连接数据库的代码:

def __init__(self):
  try:
    print "Connecting to the MySQL database..."
    self.conn = MySQLdb.connect( host = "192.168.56.1",
                                 user = "guestos",
                                 passwd = "guestpw",
                                 db = "testdb")
    self.cursor = self.conn.cursor(MySQLdb.cursors.DictCursor)
    print "MySQL Connection OK"
  except MySQLdb.Error, e:
    print "MySQLdb error %d: %s" % (e.args[0],e.args[1])
    raise
Run Code Online (Sandbox Code Playgroud)

发生这种情况时产生的完整错误如下:

MySQLdb error 2013: Lost connection to MySQL server at 'reading initial communication packet', system error: 0
Traceback (most recent call last):
  File "search.py", line 45, in <module>
    dataHandler = DataHandler()
  File "/home/guestos_user/workspace/Search/src/data_handler.py", line 25, in __init__
    db = "testdb")
  File "/usr/lib/pymodules/python2.6/MySQLdb/__init__.py", line 81, in Connect
    return Connection(*args, **kwargs)
  File "/usr/lib/pymodules/python2.6/MySQLdb/connections.py", line 170, in __init__
    super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (2013, "Lost connection to MySQL server at 'reading initial communication packet', system error: 0")
Run Code Online (Sandbox Code Playgroud)

小智 19

sudo vi /etc/mysql/my.cnf
Run Code Online (Sandbox Code Playgroud)

删除

bind-address = 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

然后

sudo reboot now
Run Code Online (Sandbox Code Playgroud)

而已.请注意,这会使您的mysql服务器在暴露时不那么安全.

  • 或“服务mysql重新启动”,mysqld在ubuntu中不起作用。 (2认同)

Man*_*dan -1

您可能会对这份错误报告感兴趣。不知道这是否对您有帮助,但有些人能够通过使用服务器名称而不是连接属性中的IP 地址来解决该问题。