我有一个mysql数据库,我想连接到它。我尝试使用Python中名为MySQLdb的模块。我为这个数据库(abc)创建了一个用户(称为abc)和密码(abc),它有一个表,并且连接正常(当我通过mysql命令行连接时)。在
但是当我运行python脚本时,连接中出现了一个错误。
我的剧本是:#!/usr/bin/python
import MySQLdb
# Open database connection
db = MySQLdb.connect("localhost","abc","abc","abc")
# prepare a cursor object using cursor() method
cursor = db.cursor()
# execute SQL query using execute() method.
cursor.execute("SELECT VERSION()")
# Fetch a single row using fetchone() method.
data = cursor.fetchone()
print "Database version : %s " % data
# disconnect from server
db.close()
我的错误是:
^{pr2}$
怎么了?我的脚本还是mysql里的什么?
我将localhost更改为127.0.0.1(正如另一篇文章中建议的那样,但是没有解决我的问题。在
我还检查了我对这个mysql用户的权限:SHOW GRANTS;
+------------------------------------------------------------------------------+
| Grants for abc@localhost |
+------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'abc'@'localhost' |
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, CREATE VIEW ON `abc`.* TO 'abc'@'localhost' |
+------------------------------------------------------------------------------+