mysql数据库日常运维管理过程中。数据库的迁移是DBA或系统管理员必然遇到的事情。说到mysql的迁移有朋友会说那很简单,不就是导入导出嘛!传统的导入导出有以下几个弊端:
- 导入导出费时费力,特别是业务数据量很大时候。
- 后面增量数据如何解决?
- 迁移之后,如何确保结构和数据的一致性。
![2da3a2d52ad868985f7fdd3709f350cb.png](https://i-blog.csdnimg.cn/blog_migrate/eb1c49c5b007ed689cc648a1d946b592.jpeg)
云上mysql数据库
目前大家使用的云常见有阿里云、华为云等。他们都有自己的数据库在线迁移解决方案。下面重点说一下工作中使用过的阿里云的dts(数据传输服务)。
![d6751d212401a8861fa3c3070081ccd2.png](https://i-blog.csdnimg.cn/blog_migrate/8f96dd949ed264d78a7752630f71bc3e.jpeg)
DTS支持关系型数据库、NoSQL、大数据(OLAP)等数据源间的数据传输。 它是一种集数据迁移、数据订阅及数据实时同步于一体的数据传输服务。解决了在公共云、混合云场景下远距离、毫秒级异步数据传输难题。
dts支持的数据源类型如下表所示:
![3ce8e411efd9b394eb854d571eb5a56b.png](https://i-blog.csdnimg.cn/blog_migrate/a240e87f932a12c1cf8df2b7b34c244d.jpeg)
![4751ba4e1dbb3a87aae336b619516ef9.png](https://i-blog.csdnimg.cn/blog_migrate/d97a342b97b20b44a754b5367e45abf8.jpeg)
![1a6fe0ae596605571821b59d275d3ad7.png](https://i-blog.csdnimg.cn/blog_migrate/740bfd455b7b0f5d7b93e22ab47b3972.jpeg)
线下mysql数据库
线下mysql的数据库在线迁移可以利用工具SQLyog及Navicat Premium 12,这两个工具可以实现两个mysql实例之间的数据库同步、结构同步及数据比对。本人日常工作中用的是SQLyog。下面简单分享一下。
场景概述
- mysql源实例:192.168.1.181
源实例库名:xuanyuan
- mysql目标实例:192.168.0.152
目标实例库名:xuanyuan(空库)
数据库同步
方法:SQLyog-》高级工具-》数据库同步向导
1、建立连接,先择源实例库和目标库。如下图所示:
![8da72d08226396bee5927c123a1beba5.png](https://i-blog.csdnimg.cn/blog_migrate/f5e4534d669ba01328f59237a0d02e1c.jpeg)
2、选择同步方式:单向同步,如下图所示
![eb158a9c5ac46349dfceaf8f74f3e42f.png](https://i-blog.csdnimg.cn/blog_migrate/0d6fb77e291ece894a1950c2fd2ecd57.jpeg)
3、选择数据库需要同步的表
![b029cd4b4fed4462b61ce0e142ce99b9.png](https://i-blog.csdnimg.cn/blog_migrate/3755082ae21da53892ebcd8bcb628fd2.jpeg)
4、选择同步类型
- 直接同步:选择此选项会立即同步。
- 生成脚本:此选项不会同步,仅仅是生成同步的SQL脚本。
- 同步和生成脚本:同步的同时也会生成脚本。
![9bcfd059335ffc752c39c7f746562d39.png](https://i-blog.csdnimg.cn/blog_migrate/1983dc47a0fa905821d4dee328226740.jpeg)
5、开始同步
![1b3fbf29911c5f0e658619978af3bb59.png](https://i-blog.csdnimg.cn/blog_migrate/0f6465f34557f8d4959621cd03e56f92.jpeg)
结构同步
结构同步同步仅仅是表结构,表数据不会被同步。
方法:高级工具-》架构同步工具
![f1b08c2c21df29b6a70f090c9afe60ae.png](https://i-blog.csdnimg.cn/blog_migrate/8298eaf4a9a72092227f018e938ed741.jpeg)
可视化数据比较
方法:高级工具-》可视化数据比较
下面演示一下比较两个实例中的vip表,为了展示演示效果,我把152目标实例xuanyuan库中的表vip数据删除一部分。
![2d043bb2a29f9d183bd246928c5ae00e.png](https://i-blog.csdnimg.cn/blog_migrate/55b57c3f2fa6f375caeb489053f1bef7.jpeg)
1、选择要比较的表
![cf220aeefff8893bdc0c67d7e23bc2d6.png](https://i-blog.csdnimg.cn/blog_migrate/1041b569932f40b6847695e2f8d77b1d.jpeg)
2、比较表中的数据
![dcfd17e397d1bef4bdea91b01fc12777.png](https://i-blog.csdnimg.cn/blog_migrate/c3d39d06b0ca75e9895aa5428b98794e.jpeg)
3、把源库中的新增数据同步至目标库
![059fbe6ffba3d859f93432cfcb50d74a.png](https://i-blog.csdnimg.cn/blog_migrate/0495915158ee6a783d55bee67dc2d67e.jpeg)
4、结果验证
![fa996c88c6484fe2cc49239d118dad6c.png](https://i-blog.csdnimg.cn/blog_migrate/fde7d0ef170b6cdbdeeb70b82f4b0a12.jpeg)