欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

docker环境下数据库的备份(postgresql, mysql) 实例代码

程序员文章站 2022-04-10 23:20:59
posgresql 备份/恢复 1.备份 date=`date +%y%m%d-%h%m` back_data=xxapp-data-${date}.out...

posgresql 备份/恢复

1.备份

date=`date +%y%m%d-%h%m`
back_data=xxapp-data-${date}.out # 这里设置备份文件的名字, 加入日期是为了防止重复
docker exec pg-db pg_dumpall -u postgres > ${back_data} # pg-db 是数据库的 docker 名称

2.恢复

docker cp ${back_data} pg-db:/tmp
docker exec pg-db psql -u postgres -f /tmp/${back_data} postgres

mysql 备份/恢复

1.备份

date=`date +%y%m%d-%h%m`
back_data=xxapp-data-${date}.sql
# mysql-db 是数据库的 docker 名称, xxxpwd 是 root 用户密码, app-db 是要备份的数据名称
docker exec mysql-db mysqldump -uroot -pxxxpwd --databases app-db > ${back_data}

2.恢复 下面的 ${back_data} 要替换成实际生成的文件名称

docker cp ${back_data} mysql-db:/tmp 
docker exec -it mysql-db mysql -uroot -pxxxpwd 
mysql> source /tmp/${back_data}.sql
mysql> \q
bye

补充

postgresql 是备份所有数据库的, mysql 是备份某一个数据库.

总结

以上所述是小编给大家介绍的docker环境下数据库的备份(postgresql, mysql) ,希望对大家有所帮助