共计 1000 个字符,预计需要花费 3 分钟才能阅读完成。
MySQL 数据库迁移 (数据文件直接迁移)
在今年 10 月下旬的时候,公司的服务器需要迁移,其中涉及到了 MySQL 数据库迁移。查看了一下 MySQL 数据文件的大小,接近 60G 的大小 (实际数据并没用那么多)。由于服务器上业务需要,要尽量减少服务器迁移时的损失。所以迁移时间选在了晚上零点开始,而且要尽量减少迁移所用的时间。
在迁移之前有三种方案:
- 数据库直接导出,拷贝文件到新服务器,在新服务器上导入。
- 使用【MySQL GUI Tools】中的 MySQLMigrationTool。
数据文件和库表结构文件直接拷贝到新服务器,挂载到同样配置的 MySQL 服务下。
我在我的电脑上用虚拟机测试后,选中了占用时间最少的第三种方案。下面是三种方案的对比:
第一种方案的优点: 会重建数据文件,减少数据文件的占用空间。
第一种方案的缺点: 时间占用长。(导入导出都需要很长的时间,并且导出后的文件还要经过网络传输,也要占用一定的时间。)
第二种方案的优点:设置完成后传输无人值守
第二种方案的缺点:
- 设置繁琐。
- 传输中网络出现异常,不能及时的被发现,并且会一直停留在数据传输的状态不能被停止,如不仔细观察不会被发现异常。
- 传输相对其他 fang 时间长。
- 异常后很难从异常的位置继续传输。
第三种方案的优点:时间占用短,文件可断点传输。操作步骤少。(绝大部分时间都是在文件的网络传输)
第三种方案的缺点:可能引起未知问题,暂时未发现。
下面介绍一下第三种方案 d 迁移步骤 :
- 保证 Mysql 版本一致,安装配置基本一致( 注意:这里的数据文件和库表结构文件都指定在同一目录 data 下 )
- 停止两边的 Mysql 服务(A 服务器 – 迁移 –>B 服务器 )
- 删除 B 服务器 Mysql 的 data 目录下所有文件
- 拷贝 A 服务器 Mysql 的 data 目录下除了 ib_logfile 和 .err 之外的文件到 B 服务器 data 下
- 启动 B 服务器的 Mysql 服务,检测是否发生异常
迁移完成后,服务启动正常,未发现其他异常问题。
data 文件夹文件列表如下:
备注:经测试,源 mysql 的安装目录及数据文件目录 可以与 目标 Mysql 的安装目录及数据文件目录 不一致。
此时,只需要拷贝您所需移动的 dbname(如上:pa、testdb)及 ’mysql’ 和 ’ibdata1’,即可。
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-06/132493.htm