Mysql环境搭建
Docker镜像
Mysql的官方镜像中,当前的LTS版本是8.4.1,基于的Linux版本是Oracle Linux9,但是客户提供的服务器的CPU不支持 x86_64 V2,只支持 x86_64,所以不能使用该版本。故采用 8.4.0-oraclelinux8 版本的镜像。
准备映射的容器卷
Mysql需要映射出来的容器卷有:
/var/log/mysql:存储日志信息
/var/lib/mysql:存储数据库数据
/etc/mysql/conf.d:存储配置信息
/root/mysql_workspace/mysql-files:用于mysql的LOAD DATA INFILE导入数据
准备对应文件夹:
准备配置文件
在/root/mysql_workspace/conf文件夹(即映射到容器的/etc/mysql/conf.d文件夹)中创建MySql的配置文件my.cnf:
启动容器
启动mysql-master容器:
预警Mysql数据库导入
创建用户和数据库
进入容器:
使用root用户登录数据库:
创建用户、数据库、授权:
导入数据
将公司产品的myproject.sql文件上传到服务器上,导入到mysql-master容器中:
进入docker容器:
使用myproject用户登录:
使用myproject数据库,导入:
程序应用中配置连接
context.xml:
1
2
3
4
5
6
7
数据库备份
导出
Mysql使用mysqldump进行数据库备份。
常用语句示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
备份全部数据库的数据和结构
mysqldump -uroot -proot -A > /data/mydb.sql
备份mydb数据库的数据和机构
mysqldump -uroot -proot mydb > /data/mydb.sql
-t 只备份表数据
-d 只备份表结构
mysqldump -uroot -proot mydb -t > /data/mydb.sql
备份多个数据库,使用--databases指定
mysqldump -uroot -proot --databases db1 db2 > /data/mydb.sql
备份数据库的指定表 t1、t2
mysqldump -uroot -proot mydb t1 t2 > /data/mydb.sql
导出存储过程
-ntd 不导出表结构和数据
mysqldump -uroot -proot -ntd -R myproject > /data/mydb.sql
导入
导入方式1 :
在命令行直接进行导入
1
mysql -umyproject -pmyproject myproject < /data/mydb.sql
导入方式2:
登入mysql之后,通过sql的source指令及逆行还原:
1
source /data/mydb.sql