【问题标题】:Is it possible to merge two MySQL databases into one?是否可以将两个 MySQL 数据库合并为一个?
【发布时间】:2011-06-03 03:48:48
【问题描述】:

假设我有两个带有一些复杂表结构的 MySQL 数据库。两个数据库都没有相同的表名。假设这些表不包含任何行(它们包含,但我可以截断表,数据现在并不重要,只是测试东西)。可以说我需要将这两个数据库合并为一个。例如:

DB1:

城市 状态

DB2:

索引 子索引 帖子

我想最终得到一个包含以下内容的数据库:

城市 状态 指数 子索引 帖子

这可能吗?

【问题讨论】:

    标签: mysql database


    【解决方案1】:

    您可以在其中一个数据库的所有表上使用RENAME TABLE

    见:http://dev.mysql.com/doc/refman/5.0/en/rename-table.html

    RENAME TABLE current_db.tbl_name TO other_db.tbl_name;
    

    如果没有重复。

    【讨论】:

    • 谢谢!到了规定时间我会标记为已回答
    【解决方案2】:

    您使用的是哪个存储引擎?

    如果使用 myISAM,您是否尝试过将代表表的 3 个文件(*.frm、*.myd、*.myi)从一个 DB 目录(在 mysql/data/db1 下)复制到另一个(在 mysql/data 下) /db2)?

    【讨论】:

      【解决方案3】:

      如果您有 mySQL 管理员甚至 phpmyadmin,这应该很简单。

      使使用数据库的任何应用程序脱机(以确保没有任何更改),使用众多导出选项之一编写数据库脚本,并确保编写数据、架构和任何其他属性的脚本,而不是任何 DATABASE CREATE 语句。

      在第二个数据库上运行脚本。

      注意:只有当您 100% 确定两个数据库上没有架构重叠时,才应运行此选项!!!!

      【讨论】:

        【解决方案4】:

        是的,我认为这是可能的。您需要做的就是将 2 个表导出到 sql 脚本,将一个表名替换为另一个;附加脚本并运行一次

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-06-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-12-08
          • 1970-01-01
          • 2020-02-12
          • 1970-01-01
          相关资源
          最近更新 更多