docker数据备份恢复
docker容器mysql数据备份恢复
1.连接数据库
docker exec -it d47bc4609487 mysql -uroot -p123456
2.针对所有数据库备份恢复
2.1.备份所有表结构和数据
#方法一:所有表结构和数据
docker exec -it d47bc4609487 mysqldump -uroot -p123456 --all-databases > /data/backup/mysql/20220728_1.sql
#方法二:所有表结构和数据
docker exec d47bc4609487 sh -c 'exec mysqldump -uroot -p123456 --all-databases' > /data/backup/mysql/20220728_2.sql
2.2.恢复所有表结构和数据
#将数据从宿主机复制到docker 容器
docker cp /data/backup/mysql/20220728_1.sql d47bc4609487:/tmp
#进入宿主机,登陆mysql
docker exec -it d47bc4609487 mysql -uroot -p123456
#还原数据库
source /tmp/20220728_1.sql
3.针对单个数据库备份恢复
3.1.备份单个表结构和数据
#将数据从数据库中备份到本地
docker exec -it d47bc4609487 mysqldump -uroot -p123456 jsh_erp > /data/backup/mysql/20220728_3.sql
3.2.恢复单个表结构和数据
#将数据从宿主机复制到docker 容器
docker cp /data/backup/mysql/20220728_3.sql d47bc4609487:/tmp
#进入宿主机,登陆mysql
docker exec -it d47bc4609487 mysql -uroot -p123456
#3.创建临时数据库
create database jsh_erp;
#4.切换数据库
use jsh_erp;
#还原数据库
source /tmp/20220728_3.sql
4.备份数据不备份结构
docker exec -it d47bc4609487 mysqldump -t -uroot -p123456 jsh_erp > /data/backup/mysql/20220728_4.sql
5.备份结构不备份数据
docker exec -it d47bc4609487 mysqldump --opt -d -uroot -p123456 jsh_erp > /data/backup/mysql/20220728_5.sql
6.备份特定表结构和数据
docker exec -it d47bc4609487 mysqldump --single-transaction -uroot -p123456 jsh_erp jsh_account > /data/backup/mysql/20220728_6.sql
docker容器mongodb数据备份恢复
1.针对所有数据库备份恢复
1.1.备份所有表结构和数据
#备份所有表结构和数据
docker exec -it 89fc4c689dd0 mongodump --host 127.0.0.1 --authenticationDatabase admin --port 27017 --username root --password filink_123 --out /data/backup/mongodb/20220728_1
#将备份数据压缩并从容器复制到宿主机
tar -zcvf ...
docker cp ...
1.2.恢复所有表结构和数据
#将数据从宿主机复制到docker容器
docker cp /root/backup.tar.gz 19c950a5d8a1:/tmp
#进入容器
docker exec -it 19c950a5d8a1 sh
#解压需要恢复的数据
tar -zxvf backup.tar.gz
#恢复所有表结构数据(在宿主机执行)
docker exec -it 19c950a5d8a1 mongorestore --host 127.0.0.1 --authenticationDatabase admin --port 27017 --username root --password unm2K10 /tmp/backup/20220728_1
2.针对单个数据库备份恢复
2.1.备份单个表结构和数据
#将数据从数据库中备份到本地
docker exec -it 89fc4c689dd0 mongodump --host 127.0.0.1 --authenticationDatabase admin --port 27017 --username root --password filink_123 --db control_sensor --out /data/backup/mongodb/20220728_2
#将备份数据压缩并从容器复制到宿主机
tar -zcvf ...
docker cp ...
2.2.恢复单个表结构和数据
#将数据从宿主机复制到docker容器
docker cp /root/backup.tar.gz 19c950a5d8a1:/tmp
#进入容器
docker exec -it 19c950a5d8a1 sh
#解压需要恢复的数据
tar -zxvf backup.tar.gz
#恢复所有表结构数据(在宿主机执行)
docker exec -it 19c950a5d8a1 mongorestore --host 127.0.0.1 --authenticationDatabase admin --port 27017 --username root --password unm2K10 --db control_sensor /tmp/backup/20220728_2/control_sensor