使用pymysql进行python与mysql的交互
下载安装
pip3 install pymysql
执行sql
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:Erik Chan
# datetime:2019/1/17 17:44
# software: PyCharm
import pymysql
# 创建连接
conn = pymysql.connect(host='192.168.31.96',user='root',passwd='123456',db='mydatabase')
# 创建游标
cur = conn.cursor()# 执行SQL,并返回收影响行数
effect_row = cur.execute("select * from calss")
# 提交,不然无法保存新建或者修改的数据
conn.commit()# 获取执行后获得的数据
data = cur.fetchall()
for d in data:
print(d)
# 关闭游标
cur.close()
# 关闭连接
conn.close()
在pycharm中执行以上代码时,可能会报错:
pymysql.err.InternalError: (1130,'xxxxx' is not allowed to connect to this MySQL server")
这是因为没有权限去操作数据库,因此我们需要登录mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。
mysql -u root -p
mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
第一句是以权限用户root登录
第二句:选择mysql库
第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
第五句:刷新MySQL的系统权限相关表
重起mysql服务即可完成。
---------------------
作者:MaybeOneDay
来源:CSDN
原文:https://blog.csdn.net/maybeoneday/article/details/79050153
版权声明:本文为博主原创文章,转载请附上博文链接!
具体如下图所示:
这样,便获取了访问数据库的权限。
运行结果为:
本地的数据库为:
通过以上方式,我们已经正确地获取了mysql数据库中的数据,当然还可以进行其他增删改查的工作,只需要修改sql语句即可。