5

我是python的新手,试图通过编写连接到我们的mysql数据库并做一些事情的服务器脚本来学习一些东西。我有 python 3.3.1 和 mysql 5.0.96(社区)。我安装了 mysql 连接器/python,并尝试使用 mysql 开发站点上的示例代码进行基本连接。这是我的简单python脚本:

#!/usr/local/bin/python3


import sys
import mysql.connector

db_config = {
    'user': 'joebloggs',
    'password': 'cleartext_passwd',
    'host': '127.0.0.1',
    'database': 'mydb'
}
cnx = mysql.connector.connect(**db_config)
cursor = cnx.cursor()
query = ('select usable_name, user_id from user')
cursor.execute(query)
for (usable_name, user_id) in cursor:
    print("{} is the usable name of {d}".format(usable_name, user_id))
cursor.close()
cnx.close()

但我在连接数据库时遇到错误

"Authentication with old (insecure) passwords "\
mysql.connector.errors.NotSupportedError: Authentication with old (insecure) passwords is not supported. For more information, lookup Password Hashing in the latest MySQL manual

我究竟做错了什么?非常感谢任何帮助

4

1 回答 1

3

MySQL 支持两种密码加密方案,而您使用的是旧的旧版本。较新的客户拒绝使用它们,因为它们很容易破解。

您需要将密码更新为新样式:http ://dev.mysql.com/doc/refman/4.1/en/old-client.html

于 2013-04-10T17:22:05.767 回答