数据库迁移常见的四种方法

数据的迁移就像搬家,基本每个用过手机的人都做过数据迁移,将旧智能手机中的电话号码、照片、微信聊天记录导入到另一台新的智能手机。因此数据迁移并不神秘。在上云的过程中,因数据的量更大、数据重要性更大、专业性更强,因此在公有云上诞生了“云迁移”这项目服务,在公有云市场也有上百个云服务商专业做“云迁移”服务。今天我们来讲三种常用的云数据库迁移方法。一、为什么做云迁…

大家好,又见面了,我是你们的朋友全栈君。

        数据的迁移就像搬家,基本每个用过手机的人都做过数据迁移,将旧智能手机中的电话号码、照片、微信聊天记录导入到另一台新的智能手机。因此数据迁移并不神秘。在上云的过程中,因数据的量更大、数据重要性更大、专业性更强,因此在公有云上诞生了“云迁移”这项目服务,在公有云市场也有上百个云服务商专业做“云迁移”服务。今天我们来讲三种常用的云数据库迁移方法。

 

        一、为什么做云迁移?

数据库迁移常见的四种方法

        1、更换服务器、更换云服务商。如,某台服务器故障,需要更换为新服务器;从私有云环境更换为公有云环境。

        2、应用的数据器升级、更换类型。如,将oracle更换为mysql。

        可以说做云迁移,就像更换手机一样,发生的概率还是挺高的,我们有必须要掌握必要的迁移技能。

 

        二、云迁移里面最重要的是数据迁移

        1、数据价值最高,不能丢失。应用服务器里不带有价值的数据,可以直接采用重新安装或整盘拷贝的方式迁移,难度不大。但数据库服务器的数据可以说是整个企业的财产关键。

        2、数据迁移的难度最大。数据库的版本升级将可以带来应用的不可用,因此迁移至新服务器,如果使用了云服务商的RDS,版本不一致,应用无法使用的概率挺大。

 

        三、数据库迁移总体有三种方法

        我们今天以mysql为例,讲讲数据库迁移的四种方法。

        1、将数据库倒出为sql文件,再重新导入(推荐)

        首先将mysql数据库锁定,并将内存中的数据写入磁盘。

数据库迁移常见的四种方法

        用mysqldump将test数据库导出为sql文件。

数据库迁移常见的四种方法

        在新的数据库服务器上,新建test数据库,再将sql文件导入。

数据库迁移常见的四种方法

        该方法因采用sql命令进行数据库迁移,兼容性最好,准确性最高,但速率最慢。

 

        2、将数据库的文件存档目录直接拷贝至新主机

        可以直接将mysql存储数据的目录copy下来,用ftp等方式上传至新主机的对应存储数据的目录下。该操作需要关闭两端的数据库服务,否则将产生错误。

        该方法只支持myql的MyIASM的表引擎。该方法迁移速度快,但因Mysql默认采用inno引擎,适用场景少,且数据库版本升级后出错率高。

 

        3、使用第三方数据库迁移工具

        mysql有很多第三方的数据库迁移工具,如mysqlhotcopy。此类工具一般支持热迁移(不中断业务,实时写数据),支持物理copy。

        该方法迁移速度快,对业务中断时间短,但建议迁移多进行模拟测试,避免意外事件。

        甚至有一些第三方的迁移工具支持异构数据库的迁移。

 

        4、使用整盘迁移工具

        采用云主机的第三方迁移工具,将整个磁盘文件直接进行迁移。

        该方法迁移速度快,对业务中断时间短,但成本高,一般为收费工具。

 

        四、小结

        迁移就像搬家,如何保证搬家时间短、搬家途中不损坏或遗失物品、搬家过程更安全,产生了不同的迁移方法。

        根据你家里资产的情况,根据不同场景选择搬家的方法,迁移也就是这回事。大家感觉如何?

 

   更多内容实时更新,请访问公众号。    数据库迁移常见的四种方法

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/125242.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Mybatis动态SQL的实现[通俗易懂]

    Mybatis动态SQL的实现[通俗易懂]场景在实际应用开发过程中,我们往往需要写复杂的SQL语句,需要拼接,而拼接SQL语句又稍微不注意,由于引号,空格等缺失可能都会导致错误。Mybatis提供了动态SQL,也就是可以根据用户提供的参数,动态决定查询语句依赖的查询条件或SQL语句的内容。动态SQL标签if和where标签<!–动态Sql:where/if–><select…

    2022年6月23日
    44
  • Java设计模式之结构型:代理模式

    Java设计模式之结构型:代理模式

    2021年10月4日
    35
  • supervisor 命令操作大全「建议收藏」

    supervisor 命令操作大全「建议收藏」supervisor 命令操作大全

    2022年4月24日
    43
  • Windows安装git客户端[通俗易懂]

    Windows安装git客户端[通俗易懂]1、客户端安装工具如下Git-2.12.2.2-64-bit.exe下载地址:https://gitforwindows.org/,界面如下TortoiseGit-2.4.0.2-64bit.msi下载地址:https://tortoisegit.org/,界面如下Git-2.12.2.2-64-bit.exe:是需要安装的git真正工具TortoiseGit-2.4.0.2-64bit.msi:…

    2022年9月7日
    1
  • 操作系统第二章进程的描述与控制_进程同步和互斥的区别

    操作系统第二章进程的描述与控制_进程同步和互斥的区别什么是进程同步进程互斥的原则进程互斥的软件实现方法1、单标志法2、双标志先检查法3、双标志后检查法4、Peterson算法进程互斥的硬件实现方法1、中断屏蔽方法2、TestAndSetLock指令TSL和中断屏蔽的区别利用TSL完成进程间互斥-《现代操作系统》P713、XCHG指令信号量机制1、整型信号量2、记录型信号量(默认)记录型信号量定义P操作(wait操作)V操作(signal操作)信号量机制实现进程互斥信号量机制实现进程同步-前V后

    2022年9月10日
    4
  • Java中用fastjson对String、JSONObject、JSONArray相互转换

    Java中用fastjson对String、JSONObject、JSONArray相互转换fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将JavaBean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean下面主要是本人在工作中经常用到的关于String、JSONObject、JSONArray的相互装换String——>>>JSONArrayStringst="[{name:Tim,age…

    2022年6月20日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号