MySQL数据库迁移(数据文件直接迁移)

MySQL数据库迁移(数据文件直接迁移) sql

在今年10月下旬的时候,公司的服务器须要迁移,其中涉及到了MySQL数据库迁移。查看了一下MySQL数据文件的大小,接近60G的大小(实际数据并没用那么多)。因为服务器上业务须要,要尽可能减小服务器迁移时的损失。因此迁移时间选在了晚上零点开始,并且要尽可能减小迁移所用的时间。 数据库

在迁移以前有三种方案: 服务器

  1. 数据库直接导出,拷贝文件到新服务器,在新服务器上导入。
  2. 使用【MySQL GUI Tools】中的 MySQLMigrationTool。
  3. 数据文件和库表结构文件直接拷贝到新服务器,挂载到一样配置的MySQL服务下。 网络

我在个人电脑上用虚拟机测试后,选中了占用时间最少的第三种方案。下面是三种方案的对比: 测试

    第一种方案的优势:会重建数据文件,减小数据文件的占用空间。
    第一种方案的缺点:时间占用长。(导入导出都须要很长的时间,而且导出后的文件还要通过网络传输,也要占用必定的时间。) spa

    第二种方案的优势:设置完成后传输无人值守
    第二种方案的缺点: 操作系统

    1. 设置繁琐。
    2. 传输中网络出现异常,不能及时的被发现,而且会一直停留在数据传输的状态不能被中止,如不仔细观察不会被发现异常。 
    3. 传输相对其余fang时间长。 
    4. 异常后很难从异常的位置继续传输。

    第三种方案的优势:时间占用短,文件可断点传输。操做步骤少。(绝大部分时间都是在文件的网络传输)
    第三种方案的缺点:可能引发未知问题,暂时未发现。 orm

下面介绍一下第三种方案d迁移步骤虚拟机

  1. 保证Mysql版本一致,安装配置基本一致(注意:这里的数据文件和库表结构文件都指定在同一目录data下
  2. 中止两边的Mysql服务(A服务器--迁移-->B服务器)
  3. 删除B服务器Mysql的data目录下全部文件
  4. 拷贝A服务器Mysql的data目录下除了ib_logfile.err以外的文件到B服务器data下
  5. 启动B服务器的Mysql服务,检测是否发生异常

迁移完成后,服务启动正常,未发现其余异常问题。 io

data文件夹文件列表以下:

最终:服务器迁移60G的数据文件所用时间约为3.5小时

MySQL版本:5.1 操做系统:win2003

相关文章
相关标签/搜索