繁体   English   中英

转储两个单独的mysql数据库并创建第三个数据库的脚本

[英]Script to dump two separate mysql databases and create a third database

我目前在两个单独的Linux机器上有两个mysql数据库。 我希望能够从数据库a转储某些表(例如e,f,g),并从数据库b转储其他表(例如x,y,z)。 然后,我想将两个转储合并到一个数据库中。 数据库具有相同的架构。

我需要执行此操作的脚本,因为我需要多次执行此操作。

如果您想知道为什么需要这样做,我在实时环境中有一个应用程序,但是如果我想从实时环境中创建多个新的测试实例,则users表将太大。 如果我从preprod环境创建了新的测试实例,那么它将丢失某些实时的重要数据。

我已经查找了如何执行此操作,但找不到任何内容-有人可以帮忙吗?

您可以使用mysqldump命令( http://dev.mysql.com/doc/refman/5.5/en/mysqldump.html )。

例如,对于数据库ab和表efgxyz ,将是这样的:

mysqldump -u USER -pPASSWORD -h HOST_A a e -t >> dump.sql
mysqldump -u USER -pPASSWORD -h HOST_A a f -t >> dump.sql
mysqldump -u USER -pPASSWORD -h HOST_A a g -t >> dump.sql
mysqldump -u USER -pPASSWORD -h HOST_B b x -t >> dump.sql
mysqldump -u USER -pPASSWORD -h HOST_B b y -t >> dump.sql

cat dump.sql | mysqldump -u USER -pPASSWORD -h HOST_C DATABASE_C

(您应该用实际值替换大写字母的var)

第一dump.sql数据(没有表结构,因为有-t标志)转储到文件dump.sql ,该文件最终用于将行插入不同的数据库(HOST_C中的DATABASE_C)。

如果需要脚本,只需将命令放在bash文件中,然后对所需的变量进行参数化。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM