1. 安装 MySQL
安装服务端软件:
sudo apt-get install mysql-server
安装客户端软件:
sudo apt-get install mysql-client
上面两个都要安装,这里server和client两个具体什么关系,如下:
Mysql-server,顾名思义做的就是服务端的事情,对数据进行操作。mysql-client做的是客户端的请求,增删改查命令等。
平时,我们在mysql官网下载mysql-server,默认包含了client客户端。不需要再额外找client客户端。
2. MySQL 服务操作
![在这里插入图片描述](https://img-blog.csdnimg.cn/30b58fad9213417997e6e886a43f681f.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBASVRfSG9sbWVz,size_13,color_FFFFFF,t_70,g_se,x_16)
3. MySQL 系统配置
3.1 MySQL配置文件的路径
MySQL配置文件的路径如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/4b1ce48c87e445ad986b6eb77f2d119b.png)
3.2 配置文件内容
查看mysqld.cnf中的内容:
root@localhost:/etc/mysql/mysql.conf.d
![在这里插入图片描述](https://img-blog.csdnimg.cn/b21ee2ea6b3d4822a3afce2515074873.png) ![在这里插入图片描述](https://img-blog.csdnimg.cn/72c081febce444d1be297f50ff48d896.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBASVRfSG9sbWVz,size_15,color_FFFFFF,t_70,g_se,x_16)
基础的内容要牢记:
![在这里插入图片描述](https://img-blog.csdnimg.cn/ea57ad52bd4e409c897bea7ad0717ab1.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBASVRfSG9sbWVz,size_18,color_FFFFFF,t_70,g_se,x_16)
4. 安装 navicat 软件
navicat软件有很多版本,有的只是针对一种数据库,有的可以一对多类型的数据库。
下载地址:https://www.navicat.com.cn/products ![在这里插入图片描述](https://img-blog.csdnimg.cn/e7923dbd3a0e4f869faa2a4ab290916c.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBASVRfSG9sbWVz,size_20,color_FFFFFF,t_70,g_se,x_16)
在windows系统下安装,直接通过exe文件,傻瓜式安装就好。
在linux下安装,官方还是出如何安装的。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/6d388917e99540658cfc3fd64131ced5.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBASVRfSG9sbWVz,size_19,color_FFFFFF,t_70,g_se,x_16)
5. 使用navicat远程连接ubuntu系统数据库
阿里云的服务器,要打开mysql对应的3306端口。(安全配置)
![在这里插入图片描述](https://img-blog.csdnimg.cn/5ebe56683735498690bf920bbabfc124.png)
之后,我们要在ubuntu系统中创建一个root用户,host为%(%代表允许任何ip都可以访问)。
use mysql;
create user 'root'@'%' identified by '密码';
grant all privileges on *.* to 'root'@'%';
flush privileges;
使用navicat远程连接数据库
先设定ssh,连接服务器: ![在这里插入图片描述](https://img-blog.csdnimg.cn/7c7dcbaf614147659364f866af6c897e.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBASVRfSG9sbWVz,size_18,color_FFFFFF,t_70,g_se,x_16)
再设定ubuntu系统端的mysql配置:
![在这里插入图片描述](https://img-blog.csdnimg.cn/1179ef84e4924cb9b58f8804d9fb9443.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBASVRfSG9sbWVz,size_18,color_FFFFFF,t_70,g_se,x_16) 这样就连接成功,记得测试连接。
6. 终端操作指令
这里仅仅提示几个进场忘记的,增删改查一些列操作很简单。
select now();
select database();
desc `表名`;
alter table `表名` modify `列名` 类型 约束;
![在这里插入图片描述](https://img-blog.csdnimg.cn/30417af69b9f424cbd13154437a414f2.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBASVRfSG9sbWVz,size_20,color_FFFFFF,t_70,g_se,x_16)
7. Python 交互 MySQL数据库
安装pymysql
sudo pip3 install pymysql
sudo pip3 uninstall pymysql
![在这里插入图片描述](https://img-blog.csdnimg.cn/951b2d0e6d554c93aca0f28435edbfcb.png)
查看是否安装pymysql和pymysql的详细信息
sudo pip3 show pymysql
sudo pip3 list
![在这里插入图片描述](https://img-blog.csdnimg.cn/81baf60a996f4e0da8d9282ae91c079d.png) 以上的操作,在windows系统,也是一样的命令一样的操作,通过pip3来安装pymysql模块。
8. connect(连接) 和 cursor(光标) 查询远程数据库
import pymysql
import pprint
try:
connc = pymysql.Connect(
host='rm-bp168t05xk88zzbv7ro.mysql.rds.aliyuncs.com',
user='root',
password="xuyanbo0818",
database='school',
port=3306,
charset="utf8",
)
cur = connc.cursor()
sql = 'select * from `category`'
cur.execute(sql)
result = cur.fetchall()
pprint.pprint(result)
except Exception as e:
print(e)
connc.rollback()
finally:
cur.close()
connc.close()
9. 熟悉 增删改 操作
增删改比查询多了l一步,就是提交(connc.commit()),因为它修改了数据库中的内容,因此必有要有提交操作,才能完全修改数据库!!!
import pymysql
try:
connc = pymysql.connect(
user='root',
password="xuyanbo0818",
host='rm-bp168t05xk88zzbv7ro.mysql.rds.aliyuncs.com',
database='school',
port=3306,
charset="utf8",
)
cur = connc.cursor()
sql2 = "delete from `category` where categoryid=%s"
delete_data2 = [5]
cur.execute(sql2,delete_data2)
connc.commit()
print("插入/更新/删除成功")
except Exception as e:
print(e)
connc.rollback()
finally:
cur.close()
connc.close()
|