From 6a2c22c7a3a70b99e6f2dbe2866b5a4cffb2e968 Mon Sep 17 00:00:00 2001 From: bob Date: Sun, 16 Apr 2023 17:03:39 +0800 Subject: [PATCH] feat(doc) mysql backup --- _doc/mysql备份与恢复.md | 45 ++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 _doc/mysql备份与恢复.md diff --git a/_doc/mysql备份与恢复.md b/_doc/mysql备份与恢复.md new file mode 100644 index 0000000..5f7518d --- /dev/null +++ b/_doc/mysql备份与恢复.md @@ -0,0 +1,45 @@ +### 备份 + +以下命令用于将容器内的 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; +```