gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 23:56:25 25 4
gpt4 key购买 nike

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

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

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

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

最佳答案

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

例如,对于数据库 ab 和表 efg , x,y,z,它会是这样的:

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

(您应该将大写字母的变量替换为您的实际值)

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

如果您想要一个脚本,只需将命令放入 bash 文件中并参数化您想要的变量即可。

关于mysql - 用于转储两个单独的 mysql 数据库并创建第三个数据库的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25304463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com