import MySQLdb
#打开数据库
db =
MySQLdb.connect("127.0.0.1","root","123456","testdb",3306)
#使用corsor()方法获取操作游标
cursor = db.cursor()
#使用execute方法执行SQL语句
cursor.execute("SELECT VERSION()")
#使用fetchone()方法获取一条数据库
data = cursor.fetchone()
print "Database version: %s " % data
#关闭数据库
db.close()
运行上述代码后报错信息如下:
File "D:/Python27/lib/site-packae/MySQLdb/__init__.py", line 81,
in Connect return Connection(*args, **kwargs2)
File "D:/Python27/lib/site-packae/MySQLdb/connections.py", line
187, in
__init__super(Connection,self).__init__(*args, **kwargs2)
_mysql_exception.OperationalError:(2003,"Can't connect to MySQL
server on 'localhost'(10061)")
试了几个解决方案都不行,原因不在MySQLdb模块,而在于MySQL服务端这边接受的连接地址的问题。把localhost改成主机的ip地址后依然会提示报错信息:1130,提示主机不允许连接到MySQL服务器。于是修改地址为127.0.0.1运行通过,端口3306加不加都不影响,默认端口即3306.
下面为错误展示:
地址选项为localhost运行时的报错信息;
地址选项为本机ip地址后运行时的报错信息;
修改为127.0.0.1后运行通过