如果我在一个活动服务器上有一个带有多个表的MySQL数据库,现在我想将这个数据库迁移到另一个服务器。当然,我的意思是这里的迁移涉及到一些数据库表格,例如:为几个表格添加一些新列,添加一些新表格等等。现在,我能想到的唯一方法是使用一些php/python(两个我知道的脚本)脚本,连接两个数据库,从旧数据库转储数据,然后写入新数据库。但是,这种方法根本没有效率。例如:在旧数据库中,表A有28列;在新的数据库中,表A有29列,但对于所有旧行,额外列的默认值为0。我的脚本仍然需要逐行转储数据,并将每行插入到新数据库中。关于MySQL数据库迁移的问题
使用MySQLDump等..将无法正常工作。这是细节。例如:我有四个旧数据库,我可以将它们命名为'DB_a','DB_b','DB_c','DB_d'。现在旧表A有28列,我想用新的列ID'DB_x'(x来表示它来自哪个数据库)将表A中的每一行添加到新数据库中。如果我无法通过行的内容区分数据库ID,唯一可以识别它们的方法是通过一些用户输入参数。
有没有比自己编写脚本更好的工具或更好的方法?在这里,我不需要担心多线程写入问题等。我的意思是旧的数据库将关闭(不公开使用等,仅用于升级)一段时间。
谢谢!
好吧,转储数据然后更改模式在这里不起作用。实际情况是:我需要将当前4个数据库合并为1个。我将更详细地修改我的问题。 – WilliamLou 2010-04-20 21:42:07