mysqldump包含“use db_name”语句和单表转储

时间:2018-01-25 19:25:00

标签: mysql docker

我正在尝试使用mysqldump以编程方式为从我们的生产环境导出和导入表到本地开发环境的系统创建单个表的导出。

我需要.sql文件在顶部包含“USE database_name”语句。生产数据库名称与我们的本地数据库名称不同(我们在开发时使用test_作为前缀)。我必须保留.sql转储文件,因为它们在docker容器初始化时使用。

我可以通过在mysqldump命令中包含--databases database_name标志来实现这一点。问题是,这会转储整个数据库。我只想要一张桌子。

是否有人知道这是否可能 - 转储单个表但还包括“USE data_basename”行?

到目前为止,这是我在bash脚本中的内容 - 其中$ 1是特定的表名。这有效,但我必须在生成的.sql文件的顶部手动输入“USE database_name”语句。

mysqldump -h {host i.p.} -u {username} --password="{password}" db_name $1 > docker/local_mysql_db/files/docker-entrypoint-initdb.d/$1.sql
docker exec -i db_container_name mysql {test_db_name} < docker/local_mysql_db/files/docker-entrypoint-initdb.d/$1.sql

0 个答案:

没有答案