MySQL数据库迁移讲解
当前位置:以往代写 > 数据库教程 >MySQL数据库迁移讲解
2019-06-14

MySQL数据库迁移讲解

MySQL数据库迁移讲解

  生活中很多时候,我们都需要都一些物品进行迁移,但是这是现实的事物得迁移;有时,公司的服务器需要迁移,其中涉及到了MySQL数据库迁移。我们可以提前查看一下MySQL数据文件的大小,假如接近60G的大小。但是实际数据并没用那么多。有时由于服务器上业务需要,要尽量减少服务器迁移时的损失。所以迁移时间也要注意,而且要尽量减少迁移所用的时间。下面小编将在本文讨论Mysql数据库迁移的问题!

  MySQL数据库迁移概述

  数据迁移比较典型的应用场景:由于业务需要,从传统IDC迁移到云上。用云端作为数据备份,将数据迁移到云端。还有数据已经在云端,但由于业务需求,需要进行数据迁移,如跨区迁移,自建数据库迁移到CDB等场景。归纳而言,数据迁移的类型可分为下述几类:

  1.由本地IDC迁移至腾讯云CDB

  本地业务上云,数据库作为最后部分内容迁入云端。经过前期的测试和试运行,业务运行稳定,现需要将所有业务上云,涉及到最为关键的数据上云过程。

  2.由其他云迁移至腾讯云CDB

  客户已在其他云上运行业务,需将数据从其他云上迁移到腾讯云CDB中,用户比较关注迁移的可行性,迁移所需要花费的成本(人力成本和时间成本),迁移过程所带来的风险等问题。另外,还需要说明腾讯云CDB相比于其他云的优势在哪,是否有足够的吸引力。

  3.腾讯云CVM自建数据库迁移至腾讯云CDB

  客户已经在使⽤用腾讯云产品,而且也已经将数据库部署于腾讯云,但使用的是CVM,自己搭建数据库,过程中随着业务增长以及数据库的增长等因素,需将CVM中自建数据库迁移至CDB中。此类用户比较关注迁移的便捷性以及可操作性,目前已有成熟产品CDT帮助用户进行数据迁移。

  4.腾讯云CDB跨区域迁移

  客户在腾讯云的一个区域内购买了CDB服务,随着业务需求,需要在另外一个区域建立应用服务,应用通过跨区进行访问数据库会受性能等限制,所以需要将一个区域的CDB迁移到另外一个区域,保持数据同步。

  ⑤由自建mysql迁移至腾讯云CVM自建数据库

  用户在本地有自建的MySql数据库,在上云过程中,仅使用了CVM产品,用CVM自己搭建了数据库服务,满足业务需求,当一定阶段需要再使用CDB来满足业务发展需求。

  另外,在迁移之前有三种方案:

  1.数据库直接导出,拷贝文件到新服务器,在新服务器上导入。

  2.使用【MySQLGUITools】中的MySQLMigrationTool。

  3.数据文件和库表结构文件直接拷贝到新服务器,挂载到同样配置的MySQL服务下。

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

  第一种方案的优点:会重建数据文件,减少数据文件的占用空间。

  第一种方案的缺点:时间占用长。(导入导出都需要很长的时间,并且导出后的文件还要经过网络传输,也要占用一定的时间。)

  第二种方案的优点:设置完成后传输无人值守

  第二种方案的缺点:

  ①设置繁琐。

  ②传输中网络出现异常,不能及时的被发现,并且会一直停留在数据传输的状态不能被停止,如不仔细观察不会被发现异常。

  ③传输相对其他fang时间长。

  ④异常后很难从异常的位置继续传输。

  第三种方案的优点:时间占用短,文件可断点传输。操作步骤少。(绝大部分时间都是在文件的网络传输)

  第三种方案的缺点:可能引起未知问题,暂时未发现。

  下面介绍一下第三种方案d迁移步骤:

  ①保证Mysql版本一致,安装配置基本一致(注意:这里的数据文件和库表结构文件都指定在同一目录data下)

  ②停止两边的Mysql服务(A服务器–迁移–>B服务器)

  ③删除B服务器Mysql的data目录下所有文件

  ④拷贝A服务器Mysql的data目录下除了ib_logfile和.err之外的文件到B服务器data下

  ⑤启动B服务器的Mysql服务,检测是否发生异常

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

  data文件夹文件列表如下:

data文件夹文件列表

  备注:经测试,源mysql的安装目录及数据文件目录可以与目标Mysql的安装目录及数据文件目录不一致。

  此时,只需要拷贝您所需移动的dbname(如上:pa、testdb)及'mysql'和'ibdata1',即可。

  此外,还有一种非常简单的方法:

  ①1mysqldump-uroot-pSCBdb>>/home/zhangchuan/SCBdb.sql(将需要迁移的数据库生成sql文件)

  ②在mysql环境下source./SCBdb.sql;(在目标数据库的mysql环境下执行该语句)

  小编结语:

  更多内容尽在课课家教育!

    关键字:

在线提交作业