关于Python中MySQLdb中的疑问

coolws123 2014-01-27 09:30:16
之前下了MySQLdb.exe安装后
import MySLdb无报错
但是当我写成sql.py,对数据库连接查询时发生错误,不知道是哪个配置有问题,恳请各位帮忙看下
注:用root直接登陆mysql对mydb进行查询可以

以下为错误
_mysql_exceptions.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (10061)")
File "e:\python_demo\sql.py", line 4, in <module>
conn=MySQLdb.connect(host="localhost",user="root",passwd="root",db="mydb",charset="utf8")
File "E:\Python27\Lib\site-packages\MySQLdb\__init__.py", line 81, in Connect
return Connection(*args, **kwargs)
File "E:\Python27\Lib\site-packages\MySQLdb\connections.py", line 187, in __init__
super(Connection, self).__init__(*args, **kwargs2)

以下为代码

import , MySQLdb
#连接
conn=MySQLdb.connect(host="localhost",user="root",passwd="root",db="mydb",charset="utf8")
cursor = conn.cursor()

#查询
n = cursor.execute("select * from books")
for row in cursor.fetchall():
for r in row:
print r


#关闭
conn.close()
...全文
289 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
csz429180 2014-02-21
  • 打赏
  • 举报
回复
试试把mysql服务器的my.ini修改下 在服务端MySQL文件夹下找到my.ini文件。修改bind-address=127.0.0.1 为 bind-address=0.0.0.0 重启mysql
coolws123 2014-01-28
  • 打赏
  • 举报
回复
引用 1 楼 huang369509940 的回复:
mysql的服务开了么?命令行能连接进入mysql? 这个就没有连接上,不是查询的问题,把端口号加上试试呢?port=3306 或者localhost换成127.0.0.1试试 再不行你看看这个吧http://hi.baidu.com/yunruiyuanjian/item/a9c2301bb7e78b771109b5c0
有开的,因为我是在win下,服务中的'MySQL56'是启动着的,昨天也试过添加port=3306以及将host改为'127.0.0.1'都不行。是不是db要写绝对路径?
黄大仙儿 2014-01-28
  • 打赏
  • 举报
回复
mysql的服务开了么?命令行能连接进入mysql? 这个就没有连接上,不是查询的问题,把端口号加上试试呢?port=3306 或者localhost换成127.0.0.1试试 再不行你看看这个吧http://hi.baidu.com/yunruiyuanjian/item/a9c2301bb7e78b771109b5c0
黄大仙儿 2014-01-28
  • 打赏
  • 举报
回复
引用 4 楼 coolws123 的回复:
[quote=引用 3 楼 huang369509940 的回复:] [quote=引用 2 楼 coolws123 的回复:] [quote=引用 1 楼 huang369509940 的回复:] mysql的服务开了么?命令行能连接进入mysql? 这个就没有连接上,不是查询的问题,把端口号加上试试呢?port=3306 或者localhost换成127.0.0.1试试 再不行你看看这个吧http://hi.baidu.com/yunruiyuanjian/item/a9c2301bb7e78b771109b5c0
有开的,因为我是在win下,服务中的'MySQL56'是启动着的,昨天也试过添加port=3306以及将host改为'127.0.0.1'都不行。是不是db要写绝对路径?[/quote] 没有必要写绝对路径啊,在mysql里叫什么就是什么啊。 命令行mysql -u root -p可以连接吗 [/quote] 在 C:\Documents and Settings\Administrator>mysql -u root -p 会显示:'mysql'不是内部或外部命令,也不是可运行的程序或批处理文件. 但在E:\MySQL\MySQL Server 5.6\bin>mysql -u root -p 输入密码'root'后,会进入 请问还是属于没有配置成功吗?[/quote] 这个只是没加环境变量呀 我的就没加环境变量 但是python上照样能连接啊。 重启一下服务,不行就重装一下mysql吧。。。没有遇到过这个问题
coolws123 2014-01-28
  • 打赏
  • 举报
回复
引用 3 楼 huang369509940 的回复:
[quote=引用 2 楼 coolws123 的回复:] [quote=引用 1 楼 huang369509940 的回复:] mysql的服务开了么?命令行能连接进入mysql? 这个就没有连接上,不是查询的问题,把端口号加上试试呢?port=3306 或者localhost换成127.0.0.1试试 再不行你看看这个吧http://hi.baidu.com/yunruiyuanjian/item/a9c2301bb7e78b771109b5c0
有开的,因为我是在win下,服务中的'MySQL56'是启动着的,昨天也试过添加port=3306以及将host改为'127.0.0.1'都不行。是不是db要写绝对路径?[/quote] 没有必要写绝对路径啊,在mysql里叫什么就是什么啊。 命令行mysql -u root -p可以连接吗 [/quote] 在 C:\Documents and Settings\Administrator>mysql -u root -p 会显示:'mysql'不是内部或外部命令,也不是可运行的程序或批处理文件. 但在E:\MySQL\MySQL Server 5.6\bin>mysql -u root -p 输入密码'root'后,会进入 请问还是属于没有配置成功吗?
黄大仙儿 2014-01-28
  • 打赏
  • 举报
回复
引用 2 楼 coolws123 的回复:
[quote=引用 1 楼 huang369509940 的回复:] mysql的服务开了么?命令行能连接进入mysql? 这个就没有连接上,不是查询的问题,把端口号加上试试呢?port=3306 或者localhost换成127.0.0.1试试 再不行你看看这个吧http://hi.baidu.com/yunruiyuanjian/item/a9c2301bb7e78b771109b5c0
有开的,因为我是在win下,服务中的'MySQL56'是启动着的,昨天也试过添加port=3306以及将host改为'127.0.0.1'都不行。是不是db要写绝对路径?[/quote] 没有必要写绝对路径啊,在mysql里叫什么就是什么啊。 命令行mysql -u root -p可以连接吗

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧