mysql 部署在ubuntu下。在windows下运行python代码连接mysql时,出现以上错误。
在网上找了好多参考,现总结如下:
1、mysql默认只能从本机登录,需要在mysql的数据库表中改变指定用户可以从别的机器上登录:
用root身份进入mysql输入以下命令:以允许abc用户可以从别的机器上登录为例。
use mysql;
update user set host = '%' where user = 'abc';
FLUSH PRIVILEGES;
2、让mysql不再只绑定本机:
在/etc/mysql目录下,查看各个.cnf文件,找到有
bind-address = 127.0.0.1
语句的文件,在该句前加入#,注释掉该句。结果为
#bind-address = 127.0.0.1
而后重启mysql
sudo service mysql restart
做完以上工作后,在命令行下运行:
mysql -uabc -p -hx.x.x.x
就可以登录mysql了。如果不行,
可能 会报以下错误:
ERROR 2003 (HY000): Can't connect to MySQL server on 'x.x.x.x' (111)
请再检查以上工作是否完全。
3、检查是否有防火墙。如果有则设置防火墙对外开放3306端口。
到此,程序就可以正常运行了。