zoukankan      html  css  js  c++  java
  • 从本地 MySQL 迁移到 RDS for MySQL

    迁移权限要求

    当使用 DTS 进行本地 MySQL->RDS for MySQL迁移时,在不同迁移类型,对源端和目标端 MySQL 实例的迁移帐号权限要求如下:

    迁移类型结构迁移全量迁移增量迁移
    本地 MySQL 实例 select select super
    select
    replication slave
    replication client
    目标端 RDS for MySQL 实例 读写权限 读写权限 读写权限

    本地MySQL实例创建账号:

    mysql>grant all privileges on *.* to z1@localhost;
    
    mysql>select * from user where user='z1' and host='localhost' G;

    迁移流程

    DTS 在进行本地 MySQL->RDS for Mysql 数据迁移时,为了解决对象间的依赖关系,提高迁移成功率。结构对象及数据的迁移顺序如下:

    1. 结构对象:表、视图的迁移
    2. 全量数据迁移
    3. 结构对象:存储过程、函数、触发器、外键的迁移
    4. 增量数据迁移

    如果任务没有选择增量数据迁移,那么当全量数据迁移完成后,任务列表中的迁移进度为:结构迁移 100%,全量迁移 100%,迁移状态为“迁移中”。此时迁移任务正在进行步骤(3) 中的对象的迁移。此时,请勿手动结束任务,否则会造成迁移数据丢失。

    在数据迁移过程中,如果待迁移的数据库在目标 RDS 实例中不存在,那么 DTS 自动会创建。

    如果需要进行增量迁移,那么需要确认源库的 binlog 是否开启,格式是否满足要求。具体确认项如下。

    1. 确认源库的 binlog 是否开启。

      确认源库开启 binlog

      如果这里面查询出来的 log_bin=OFF,则说明源库没有开启 binlog,这个时候如果需要使用增量迁移的话,需要修改本地 MySQL 的 binlog 配置,打开 binlog 日志。

      1. 开启二进制日志,修改 log_bin=mysql_bin。
      2. 设置 binlog 模式为 row,修改 binlog_format=row。
      3. 配置 server_id 大于 1,即 server_id=某一个大于 1 的整数。
      4. 如果版本为 5.6,修改 binlog_row_image=full。
      5. 修改完成后,重启 MySQL 进程。
    2. 确认源库的 binlog 格式为 row 模式。

      确认源库 binlog 格式为 ROW 模式

      使用上面的命令确认本地 MySQL 的 binlog 格式是否为 ROW,如果查询出来的结果不为 ROW 的话,那么通过如下的参数设置命令将模式修改为 ROW。

      修改源库 binlog 格式为 ROW 模式

      当修改完成后,建议将源库上已有的连接 KILL 掉,并且重新连接,否则可能出现其他的连接依然使用 statement 格式记录 binlog 日志。

    3. 当本地 MySQL 版本大等于 5.6.2 时,确认源库的 binlog_row_image=full。

      确认源库 binlog_row_image 为 FULL

      如果查询出来的结果不为 FULL 的话,那么通过如下的参数设置命令将其修改为 FULL。

      修改源库 binlog_row_image 为 FULL

     参考网址:

    https://help.aliyun.com/document_detail/26621.html?spm=a2c4g.11186623.6.584.sQGyev

  • 相关阅读:
    计算机网络基础
    ansible
    CDH集群日常
    漏洞挖掘学习
    JDWP
    开源安全项目调研
    SMB漏洞汇总
    Windows账户LM/NTLM
    SMB知识汇总
    Memcache未授权漏洞
  • 原文地址:https://www.cnblogs.com/John-2011/p/9254294.html
Copyright © 2011-2022 走看看