【问题标题】:MySQL Python connector showing errorMySQL Python 连接器显示错误
【发布时间】:2014-11-04 05:13:02
【问题描述】:

我刚刚在 Windows 7 机器上为 Python 2.7 安装了 MySQL Python 连接器 2.0.2。我试图运行一个示例代码来创建与我的数据库的连接,但它抛出了一条错误消息。 “解析握手失败;缓冲区中不存在结束字节”。我运行以下代码:

import mysql.connector
from mysql.connector import errorcode

try:
  cnx = mysql.connector.connect(user='scott',
                                database='testt')
except mysql.connector.Error as err:
  if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:
    print("Something is wrong with your user name or password")
  elif err.errno == errorcode.ER_BAD_DB_ERROR:
    print("Database does not exists")
  else:
    print(err)
else:
  cnx.close()

我正在使用 Python 2.7.3 和 MySQL 服务器版本 5.5.8 。如果我遗漏了什么,请告诉我。

【问题讨论】:

  • 你的 MySQL 服务器在运行吗?
  • 是的,它正在运行。我也用相同的用户名检查了它。

标签: python mysql mysql-python


【解决方案1】:

没有异常处理,连接到 MySQL 数据库的代码将是:

import mysql.connector

cnx = mysql.connector.connect(user='root', password='********',
                              host='127.0.0.1',
                              database='mysql')
print 'Connected'
cnx.close()

现在,你需要修改的东西:

  1. 将用户更改为root
  2. 输入 MySQL root 的密码
  3. 添加参数host

你需要使用这个连接器here

【讨论】:

  • 1.我将用户更改为root并输入root的密码2。我添加了新参数:主机和数据库但它仍然无法正常工作。我不确定连接器中是否有任何错误(适用于 Windows)。你用的是哪个python版本?
  • Python 2.7.5+。我建议你转移到 Ubuntu
  • 我无法切换到 Ubuntu。但如果需要,我可以更改我的 Python 版本。有什么适用于 Windows 的解决方案吗?
  • 查看编辑。如果可能的话,更新你的 python 版本
  • 我下载了你提到的同一个连接器。我将更新我的 python 版本,看看它是否有效。感谢您的帮助。
【解决方案2】:

此问题可能特定于 MySQL 5.5.8 版本。尝试升级您的 MySQL 版本并重试。

【讨论】:

    【解决方案3】:

    我遇到了同样的问题,试试 MySQLdb 而不是 mysql.connector 应该可以解决这个问题。而且我不需要更改代码,这太棒了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-10
      • 1970-01-01
      • 2019-07-25
      • 1970-01-01
      • 2019-06-05
      • 2012-07-25
      • 1970-01-01
      相关资源
      最近更新 更多