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:~#

至此,数据库还原成功。

posted @ 2022-03-23 16:53  星海寻梦233  阅读(316)  评论(0编辑  收藏  举报