docker 中 mysql 备份及恢复

备份所有数据

1
docker exec some-mysql sh -c 'exec mysqldump --all-databases -u root -p "$MYSQL_ROOT_PASSWORD"' > /some/path/all-databases.sql

恢复所有数据库

1
docker exec -i some-mysql sh -c 'exec mysql -u root -p "$MYSQL_ROOT_PASSWORD"' < /some/path/all-databases.sql

备份指定数据库

1
docker exec some-mysql sh -c 'exec mysqldump --databases db1 -u root -p "$MYSQL_ROOT_PASSWORD"' > /some/path/db1-backup.sql

恢复指定数据库

1
docker exec -i some-mysql sh -c 'exec mysql -u root -p "$MYSQL_ROOT_PASSWORD"' < /some/path/db1-backup.sql