1. 概述编辑
通过数据管道实时同步 MySQL 的数据时,来源数据源为 MySQL,执行同步任务前,需要参考本文在数据源中进行一些配置,为后续的数据同步做好准备。
2. 操作步骤编辑
2.1 确认当前使用的数据库版本
确认是否为数据管道同步任务所支持的版本。
当前仅支持 MYSQL 5.6 及以上的非只读数据库。
2.2 开启数据库 Binlog
由于实时同步对 MySQL 数据库的读取方式为 Binlog ,因此需要提前对数据库开启 Binlog。
注:示例为 Linux 环境开启方式。
进入 etc 文件中,编辑my.cnf 文件,如下图所示:
修改 my.conf 文件,增加如下内容:
注1:本示例为 Linux 环境下,若在 windows 环境下部署的 MySQL 则需要修改 my.ini 文件。
注2:server_id=2,其中2可写任意数值。
server_id=2
log_bin=mysql-bin
binlog_format=ROW
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
保存文件后重启 MySQL 让配置生效。
输入show variables like 'log_%',查看日志是否开启,如果 log_bin的值为 on,则日志开启,如下图所示:
同时输入show variables like 'binlog_%',查看 binlog_row_image 及 binlog_format 值是否分别为 FULL、ROW,如下图所示:
2.3 给指定账号开启复制权限
一般复制账号需要以下两个权限。
开启复制权限前,需要首先为用户授予 REPLICATION SLAVE 权限。
REPLICATION CLIENT 不可用于建立复制,有该权限时,只是多了可以使用如SHOW SLAVE STATUS、SHOW MASTER STATUS等命令。
1)确定用户状态:
复制用户可以使用 show grants for 用户名来确定复制状态。
如果返回值中没有 replication client 和 replication slave 则需要开启复制权限。
2)使用以下命令进行权限开启
grant replication client on *.* to 用户名;
grant replication slave on *.* to 用户名;
示例如下:
然后使用命令:show grants for fdluser,查询用户权限状态,若返回值中包含下面的权限,则表示权限开启成功,如下图所示:
注:此处 fdluser 可修改为自己数据库的用户。