Mysql备份与恢复
背景:需要将 Podman中Mysql的数据库备份,然后在Docker中的Mysql恢复。
一、备份(参考:https://www.liujiangblog.com/blog/10/)
1.使用命令:mysqldump -u username -p dbname table1 table2 ...-> BackupName.sql
其中:
- dbname参数表示数据库的名称;
- table1和table2参数表示需要备份的表的名称,为空则整个数据库备份;
- BackupName.sql参数是备份文件的名称,文件名前面可以加上一个绝对路径。通常将数据库被分成一个后缀名为sql的文件;
2.因为我的Mysql安装在 podman容器中,所以需要将容器的文件拷贝到本机上(参考:docker容器向宿主机传文件):
注:查看 backup.sql文件:里面是一些数据表的创建、执行语句。
二、恢复数据
1.先将本地的备份文件拷贝到 docker容器中:
(base) luochao7@ZBMac-C02FQBKRM ~ % docker cp /Users/luochao7/Documents/backup.sql 99c9e24f2a14:/root/ (base) luochao7@ZBMac-C02FQBKRM ~ %
2.查看文件是否成功拷贝到容器中(进入容器操作):
root@99c9e24f2a14:/# cd root root@99c9e24f2a14:~# ls backup.sql root@99c9e24f2a14:~#
3.数据库还原:
- 如果数据库不存在,则先创建数据库,否则直接恢复的话,会报错:Unknown database 'data_center'
- 数据库 'data_center'创建之后,还原备份的数据:
root@99c9e24f2a14:~# mysql -u root -p data_center < /root/backup.sql
Enter password:
root@99c9e24f2a14:~#
至此,数据库还原成功。