Python-MySQL

本文详细介绍了如何在CentOS7上安装MySQL并配置PyMySQL,包括安装步骤、密码策略、远程登录授权,以及使用Python进行数据库连接、测试、创建表、插入数据、删除数据、修改数据和查询数据的操作。
摘要由CSDN通过智能技术生成

Python-MySQL

一、安装PyMySQL

1、首先环境是centos7,如果你上面安装了数据库,请先卸载掉设备上原有的默认数据库,我们需要的是互联网源,如果没有请下载163或阿里源

2、yum -y install wget 下载wget工具

3、wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

4、yum -y install mysql57-community-release-el7-10.noarch.rpm

5、yum -y install mysql-community-server

6、启动mysql服务:

systemctl start mysqld.service

7、查看启动状态:如果出现running则证明启动成功

systemctl status mysqld.service

8、查看初始化密码:过滤出来的就是初始密码

cat /var/log/mysqld.log | grep “password”

9、登录mysql

mysql -uroot -pxxxxx

10、需要先修改密码,否则不能进行操作

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘Root@123’;

这里如果出现ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

需要注意你设置的密码需要符合密码原则,如果想要查询 SHOW VARIABLES LIKE ‘validate_password%’;
MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。
有时候,只是为了自己测试,不想密码设置得那么复杂,譬如说,我只想设置root的密码为123456。

必须修改两个全局参数:
首先,修改validate_password_policy参数的值
set global validate_password_policy=LOW;关闭密码原则
当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 6 位的密码,设置 validate_password_length 的全局参数为 6 即可,
输入设值语句 “ set global validate_password_length=6; ” 进行设值

11、想要通过WinDows远程登录需要授权
grant all privileges on . to root@’%’ identified by ‘Root@123’;

12、刷新权限
flush privileges;
exit

13、最后安装PyMySQL:
$ pip3 install PyMySQL

二、测试python是否能连接到数据库

1、首先在命令行输入ipython,如果没有python3也可以

2、ipython
In [1]: import pymysql
#批量导入mysql模板

In [2]: db = pymysql.connect(“localhost”,“root”,“Root@123”,“test”)
#打开数据库连接,注意这里依次是"地址",“用户”,“密码”,“库名”
#这个test库需要自己创建的

In [3]: cursor = db.cursor()
#使用cursor()方法创建一个游标对象cursor,用户存放sql语句

In [4]: cursor.execute(“SELECT VERSION()”)
#使用execute()方法执行sql查询
Out[4]: 1

In [5]: data = cursor.fetchone()
#使用fetchone()方法获取单条数据

In [6]: print(data)
(‘5.7.32’,)
#如果出现版本号则证明连接成功

In [7]: db.close()
#关闭连接

三、创建表

接下来都是通过脚本实现,这里面使用的都是最简单的表,你可以设置一些主键约束或者不为空、默认值都可以

import pymysql
#打开数据库连接
db = pymysql.connect("localhost","root","Root@123","test")
#使用cursor()方法 创建一个游标对象
cursor = db.cursor()
#使用execute()方法执行SQL语句
cursor.execute("DROP TABLE IF EXISTS emp")
#如果这个表存在就删除
sql 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值