合并两个 mysql 服务器的数据

合并两个 mysql 服务器的数据

我有两台旧的 mysql 服务器,现在我买了一台新服务器,我想将文件迁移到这台服务器,我的问题是,如果我将所有这些文件复制到新服务器,mysql 是否会识别这些文件,或者我是否必须更改一些选项。两台服务器都是 MyISAM,新服务器也是如此。

更新:例如:

server one:    
    table1
    table2
    table3

server two:
    table4
    table5
    table6

new server:
    table1
    table2
    table3
    table4
    table5
    table6

答案1

如果所有表都是 MyISAM,那我就有好消息了!

尽管 mysqldump 可以工作并且在按位上更安全和保守,但完全不需要。

每个 MyISAM 表由三个文件组成:.frm、.MYD、.MYI。

您应该能够简单地将表移动到新的数据库文件夹中。

information_schema 数据库将自动检测这三个文件的存在并进行更新(具体来说就是更新 information_schema.schemata)。以下是可能发生的情况的证明:

当 MySQL 仍在运行时,执行以下操作

cd /var/lib/mysql
mkdir thisisatest
mysql

一旦你跑显示数据库;您应该看到 thisisatest 作为一个数据库出现。这是因为 information_schema 自动更新了自身并将 /var/lib/mysql/thisisatest 注册为数据库。MyISAM 表将以相同的方式注册自身(具体来说就是更新 information_schema.tables)。警告:InnoDB 无法实现这一点!

答案2

使用 导出表mysqldump。确保过滤掉不需要导入或覆盖的表/数据库。使用 之类的命令导入mysql < import.sql

相关内容