在互联网中,混迹了有些日子,踩过的坑也不计其数,一直没有记录过什么。所以通过这里开始我的沙漠之旅吧。
回归正题:临时需求,要连接Win7上的MySQL,
Ubuntu15.04上,Python3 连接Win 7上的MySQL57数据库,报错误:(2013, ‘Lost connection to MySQL server during query’)
测试代码如下:
from pymysql import *
def testConnection():
"""测试代码"""
try:
#待执行sql
sql = "insert into subjects values(0, 'C++')"
#创建连接
conn = connect(host="Win7 IP地址", port=3306, user="python",
passwd="********", db="python3", charset="utf8")
#获取游标
cur = conn.cursor()
#执行sql
cur.execute(sql)
#提交
conn.commit()
#关闭
cur.close()
conn.close()
print("---sql执行成功---")
except Exception as e:
print(e)
if __name__ == "__main__":
testConnection()
Ubuntu下执行结果,下图:
解决方法;
1. 进入MySql命令行(root登陆)
2. 给mysql分配新用户,
grant all privileges on *.* to '用户名'@'IP地址' identified by '密码';
Note:IP地址为Ubuntu IP地址
3. 执行命令刷新
flush privileges;
4. 重新启动MySQL服务
5. 修改测试代码中connect的参数user和passwd
6. 执行测试结果,图下,
总结:
如果想要IP地址访问远程MySQL,需要手动开启访问权限, 即默认MySQL没有开启