python远程链接Mysql报错pymysql.err.OperationalError的处理
import pymysqlconn = pymysql.Connect(host='192.168.255.255',user='laicheng',passwd='135246',db='test_sql')cur = conn.cursor()cur.execute("select version()")for i in cur:print(i)cur.close()
import pymysql
conn = pymysql.Connect(host='192.168.255.255',user='laicheng',passwd='135246',db='test_sql')
cur = conn.cursor()
cur.execute("select version()")
for i in cur:
print(i)
cur.close()
conn.close()
上面一段为python链接数据库test_sql的一段测试代码。这里的
报错pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on,,
经过多处资料查找找到原因如下:
1.首先确定输入的账户和密码是正确的,在MySQL创建账户密码命令如下:
GRANT USAGE ON*.*TO'laicheng'@'%'IDENTIFIED BY '135246'WITH GRANT OPTION;
添加user=laicheng,passwd=135246的用户
2.确定输入的host是否正确,查看服务器host命令:ifconfig
这里黑色涂抹处为ip地址也就是host要填入的数据,我这里假设为192.168.255.255.
3.确认网络是否是通的:ping www.baidu.com如果返回数据没问题那就是通的。
4.防火墙端口3306打开(这是MySQL的端口),打开MySQL的3306端口:
4.1、关闭firewall:
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl mask firewalld.service
4.2、安装iptables防火墙
yum install iptables-services -y
安装时我的Centos7又报错,处理办法如下:
错误为:没有可用软件包 iptables-services-y。
解决办法:
安装iptables-services软件包:yum install iptables-services
在引导时启用iptables服务:systemctl enable iptables
启动iptables服务:systemctl start iptables
保存防火墙规则:service iptables save
4.3启动设置防火墙
systemctl enable iptables
systemctl start iptables
4.4查看防火墙状态
systemctl status iptables
4.5编辑防火墙,增加端口
vi /etc/sysconfig/iptables #编辑防火墙配置文件
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
进去按i编辑文本编辑好后:wq保存退出。
4.6.重启配置,重启系统
systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
http://blog.csdn.net/zhldt2008/article/details/52626892
http://blog.csdn.net/csdn_lqr/article/details/53885808
更多推荐
所有评论(0)