docker 中 mysql 数据库导出导入

创建
阅读 1120

因为做 wordpress 的数据库备份,通过 docker 使用了 mysql 导入导出,记录一下与 mysql 导入导出的操作。

1. 导出

导出所有数据库

$ sudo docker exec {cxontainerID} sh -c \
  'exec mysqldump --all-databases -uroot -p "$MYSQL_ROOT_PASSWORD"' \
  > /some/path/on/your/host/all-databases.sql

导出指定数据库

$ sudo docker exec {containerID or name} sh -c \
  'exec mysqldump --databases wordpress -uroot -p "$MYSQL_ROOT_PASSWORD"' \
  > /some/path/on/your/host/wordpress.sql

如导出指定容器 ID 为 9244 及指定数据库名 wordpress

$ sudo docker exec 9244 sh -c \
  'exec mysqldump --databases wordpress -uroot -pmy-secret-pw' \
  > /var/backup/wordpress.sql

2. 导入

首先要创建一个 container

$ sudo docker run --name some-mysql -v /var/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql

导入数据

$ sudo docker exec -i some-mysql mysql -uroot -pmy-secret-pw < /var/backup/wordpress.sql

验证

$ sudo docker exec -it some-mysql /bin/bash mysql -uroot -pmy-secret-pw
show databases;

use wordpress;

show tables;

检查一下数据表。

参考

  1. 关于导入导出 docker 中的 mysql 数据库
  2. library/mysql - Docker Hub

本文链接 https://www.yidiankuaile.com/post/docker-mysql-export-import

最后更新