在去年的某个晚上,我们公司决定将数据库从旧服务器迁移至新服务器,这其中涉及到MySQL数据库的迁移。我们发现数据库的数据文件大小接近60GB,但实际存储的数据并没有那么多。考虑到业务需求,我们希望在迁移过程中尽可能减少对业务的影响,因此选择了在深夜进行迁移,并尽量缩短迁移所需的时间。
在迁移之前,我们研究了三种方案:第一种方案是直接导出数据库,然后将文件拷贝到新服务器上,在新服务器上重新导入数据;第二种方案是使用MySQL GUI Tools中的MySQLMigrationTool工具进行迁移;第三种方案是直接将数据库的数据文件和库表结构文件拷贝到新服务器,然后挂载到相同配置的MySQL服务下。
经过在虚拟机上的测试,我发现第三种方案在占用时间上明显更短,且文件可以实现断点传输,操作步骤也相对较少。但是,这种方案可能引发未知问题,我们暂时未发现。
迁移的具体步骤如下:首先保证MySQL版本一致,安装配置也尽量保持一致,注意数据文件和库表结构文件都指定在同一目录data下;其次停止两边的MySQL服务,删除B服务器MySQL的data目录下所有文件;然后拷贝A服务器MySQL的data目录下除了ib_logfile和.err之外的文件到B服务器data下;最后启动B服务器的MySQL服务,检测是否有异常。
迁移完成后,服务启动正常,未发现其他异常问题。值得注意的是,如果源MySQL的安装目录及数据文件目录与目标MySQL的安装目录及数据文件目录不一致,只需要拷贝所需移动的dbname(如pa、testdb)及'mysql'和'ibdata1'即可。
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。