python 连接mysql 出现 2003, "Can't connect to MySQL server on 'localhost' (10061)")

连接代码如下:
conn = MySQLdb.connect(host='localhost',
user='root',
passwd='1993'
,db='database')
已经启动服务了,系统服务里面有显示

权限的问题吧,配置下myql的权限。
参考命令如下:
GRANT ALL PRIVILEGES ON *.* TO 'user'@'ip' IDENTIFIED BY 'root' WITH GRANT OPTION; FLUSH PRIVILEGES;追问

这个命令是在mysql>下输入吗?

我执行了,但还是出现相同问题

追答

远程使用Navicat for mysql 客户端软件连接 mySql数据时,连接出现 2003-Can’t connect to MySQL on ’192.168.1.2’(10061)错误时,是由于MySQL不准许远程连接。
修改方法如下:
1:在服务端MySQL文件夹下找到my.ini文件。修改bind-address=127.0.0.1 为 bind-address=0.0.0.0
2:重新启动MySQL服务。
测试连接情况:
如果没有给远程登录用户添加所有机器都能访问的权限,将会出现“1045-Access denied for user ‘root@223123(using password:NO)”,这表明需要添加权限;
添加命令如下:
1)grant all on *.* to 用户名@"%" identified by "密码";
2)flush privileges;

完成以上步骤,就可以远程访问MySQL数据库了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-25
host应该是目标机器的ip,你的mysql装在本机上么?追问

是的

追答

一般来说这种连接方法不能用root用户,root用户一般只用来直接登录mysql ,你在mysql里面创建一个新用户,

第2个回答  2018-05-31

网页链接

我也搞了半天,看了上述的网页才解决问题。主要是用户访问数据库的权限没有设置好。

相似回答