因为做 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;
检查一下数据表。