Docker mysql 数据备份和恢复

Docker MySQL的备份和还原可以通过使用mysqldump命令将数据库导出为SQL文件,或者通过备份Docker卷来实现。 要备份,可以使用docker exec命令在容器内运行mysqldump,然后将文件从容器复制到宿主机;要恢复,可以将备份的SQL文件导入到新的容器中,或者直接将备份的卷数据复制到新的容器卷中。

备份

使用 mysqldump 导出SQL文件

docker exec <容器名或ID> mysqldump -u <用户名> -p<密码> <数据库名> > /path/to/backup.sql 

示例(备份所有数据库):

 docker exec <容器名或ID> mysqldump -u <用户名> -p<密码> --all-databases > /path/to/all_databases.sql 

注意:: 密码前不要有空格。 如果密码包含特殊字符,需要谨慎处理。 如果需要在宿主机上保存文件,请确保宿主机的目录是可写的。

复制备份文件:

使用docker cp命令将备份文件从容器复制到宿主机。

docker cp <容器名或ID>:<容器内文件路径> <宿主机文件路径>

恢复

使用备份的SQL文件恢复

在新容器上执行恢复命令:: 使用docker exec命令在新的MySQL容器中运行mysql命令来导入SQL文件。

 docker exec -i <新容器名或ID> mysql -u <用户名> -p<密码> <数据库名> < /path/to/backup.sql

注意:: 这种方法适用于需要将数据导入到新创建的容器中。

文档信息

版权声明:可自由转载(请注明转载出处)-非商用-非衍生

发表时间:2025年10月16日 10:33