You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.4 KiB
46 lines
1.4 KiB
1 year ago
|
### 备份
|
||
|
|
||
|
以下命令用于将容器内的 mysql 的特定数据库备份到 sql 文件:
|
||
|
|
||
|
```sh
|
||
|
# 进入 mysql 容器(宿主机执行)
|
||
|
docker exec -it mysql bash
|
||
|
|
||
|
# 执行备份, 此命令演示中仅备份 iot 数据库(容器内执行)
|
||
|
mysqldump -u root -p -h 127.0.0.1 oa_system > /tmp/oa_system.sql
|
||
|
mysqldump -u root -p -h 127.0.0.1 crm_single > /tmp/crm_single.sql
|
||
|
mysqldump -u root -p -h 127.0.0.1 hrm_single > /tmp/hrm_single.sql
|
||
|
mysqldump -u root -p -h 127.0.0.1 nacos > /tmp/nacos.sql
|
||
|
mysqldump -u root -p -h 127.0.0.1 teamwork > /tmp/teamwork.sql
|
||
|
|
||
|
# 将备份文件复制到宿主机(宿主机执行)
|
||
|
docker cp mysql:/tmp/oa_system.sql ./oa_system.sql
|
||
|
|
||
|
# 打包备份文件,压缩存储对于文本文件可以节省大量空间(宿主机执行)
|
||
|
tar -zcvf oa_system.sql.tzr.gz oa_system.sql
|
||
|
```
|
||
|
|
||
|
### 恢复
|
||
|
|
||
|
以下命名将备份的 sql 文件恢复到容器内的 mysql 数据库中:
|
||
|
|
||
|
```sh
|
||
|
# 解压备份文件, 解压后生成 iot.sql(宿主机执行)
|
||
|
tar -zxvf oa_system.sql.tar.gz
|
||
|
|
||
|
# 将备份文件复制到容器内(宿主机执行)
|
||
|
docker cp oa_system.sql mysql:/tmp/iot.sql
|
||
|
|
||
|
# 进入 mysql 容器(宿主机执行)
|
||
|
docker exec -it mysql bash
|
||
|
|
||
|
# 执行恢复(容器内执行)
|
||
|
mysql -u root -p oa_system < oa_system.sql
|
||
|
```
|
||
|
|
||
|
**全新的数据库在恢复之前需要先创建该数据库,然后再进行恢复:**
|
||
|
|
||
|
```sql
|
||
|
create database iot default character set utf8mb4 collate utf8mb4_unicode_ci;
|
||
|
```
|