将MySQL迁移到Kafka(1) Avro格式 Avro格式的消息使用DTS自定义的Avro Schema进行序列化,包含与JSON格式相同的字段信息,以二进制方式存储。 数据库账号及权限 数据库账号及权限如下表: 数据库 所需权限 参考赋权语句 源库 源库为MySQL5.7时: 对MySQL库的SELECT权限。 对待迁移库的SELECT权限。 部分全局权限: REPLICATION CLIENT REPLICATION SLAVE PROCESS 如果是整实例迁移,需要对所有数据库的查询权限。 源库为MySQL8.0时: 对MySQL库的SELECT权限。 对待迁移库的SELECT权限。 部分全局权限: REPLICATION CLIENT REPLICATION SLAVE PROCESS 源库为MySQL5.7时: GRANT SELECT ON mysql. TO '迁移账号'@'%'; GRANT SELECTON 待迁移的库. TO '迁移账号'@'%'; GRANT RELOAD, REPLICATION CLIENT, REPLICATION SLAVE, PROCESS ON . TO '迁移账号'@'%'; 源库为MySQL8.0时: GRANT SELECT ON mysql. TO '迁移账号'@'%'; GRANT SELECT ON 待迁移的库. TO '迁移账号'@'%'; GRANT RELOAD, PROCESS, REPLICATION SLAVE, REPLICATION CLIENT ON . TO '迁移账号'@'%'; 目标库 具备目标Kafka集群的Producer写入权限。 操作须知 DTS迁移过程一般包含:预检查阶段、结构迁移阶段、全量阶段、增量阶段。为了确保同步各个阶段的平顺,在创建迁移任务前,请务必阅读以下使用须知。 如迁移对象为表级别,则单次迁移任务仅支持迁移最多10000张表(SQL Server为3000张)。当超出数量限制,任务会在提交后请求报错。如果遇到这种情形,建议您拆分待迁移的表,分批配置成多个任务,或者配置为整库迁移。 迁移过程中,请勿修改、删除提供给DTS连接访问的源库用户名、密码、权限,或修改源库的端口号。 选择表级对象迁移时,增量迁移过程中不建议对表进行重命名操作。 MySQL源数据库的binlog日志必须打开,且binlog日志格式必须为Row格式。 在磁盘空间允许的情况下,建议源数据库binlog保存时间越长越好,建议为7天。否则DTS在增量迁移时可能因无法获取Binlog而导致任务失败。 源数据库GTID状态建议为开启状态,源数据库实例没有开启GTID的情况下DTS不支持主备HA切换。 增量迁移时,必须设置MySQL源数据库的serverid。如果源数据库版本小于或等于MySQL5.6,serverid的取值范围在2-4294967296之间;如果源数据库版本大于或等于MySQL5.7,serverid的取值范围在1-4294967296之间。
来自: