在使用MySQL的CDC源表Connector前,上游的MySQL存储需要满足一些版本、网络、账号权限等要求,还需要开启Binlog。本文将从RDS MySQL、PolarDB MySQL和自建MySQL三种环境详细为您介绍相关要求及操作。
RDS MySQL
- 网络连接配置要求RDS和VVP之间需要网络连通。
- 如果RDS和VVP均处于同地域的同一VPC网络中,则RDS与VVP的网络是连通的。
- 如果RDS和VVP均处于不同的网络环境中,那么您需要通过VPN网关等方式,将RDS与VVP之间的网络打通。详情请参见Flink全托管集群如何访问公网?和如何访问跨VPC的其他服务?。
- MySQL服务器配置要求
- 版本限制
VVR 4.0.8及以上版本的MySQL CDC Connector支持读取5.7和8.0.x版本的MySQL,VVR 4.0.11及以上版本的MySQL CDC Connector支持读取5.6、5.7和8.0.x版本的MySQL。您可以通过执行select version()命令来查看MySQL的版本。
- 需要开启Binlog您可以通过执行show variables like "log_bin"命令查看Blinlog是否已开启。
- 如果返回值为ON,则表示已开启。
- 如果返回值为OFF,则表示未开启。如果您需要开启Binlog,请参见本地日志(Binlog)。
- Binlog格式需要为ROW。
您可以通过show variables like "binlog_format"命令查看Binlog格式。RDS MySQL默认格式即为ROW。
- binlog_row_image需要为FULL。
您可以通过show global variables like "binlog_row_image"命令查看Binlog image。RDS MySQL默认image为FULL。
- 版本限制
- 会话参数配置要求当读取大型数据库全量数据快照时,已建立的连接可能会在读取表数据时超时。您可以通过在MySQL配置文件中配置interactive_timeout和wait_timeout参数来防止这种现象。参数详情如下:
- interactive_timeout(交互超时):对于交互式connection,服务器在关闭交互连接之前等待活动的秒数。配置指导请参见配置MySQL interactive_timeout参数。
- wait_timeout(等待超时):对于非交互式connection,服务器在关闭连接之前等待活动的秒数。配置指导请参见配置MySQL wait_timeout参数。
- 账号权限配置要求
创建用户并授予该用户SELECT、REPLICATION SLAVE和REPLICATION CLIENT权限,MySQL CDC同步RDS MySQL数据的过程中需要此三个权限。详情请参见创建账号。
PolarDB MySQL
- 网络连接配置要求PolarDB和VVP之间需要网络连通。
- 如果PolarDB和VVP均处于同地域的同一VPC网络中,则PolarDB与VVP的网络是连通的。
- 如果PolarDB和VVP均处于不同的网络环境中,您需要通过VPN网关等方式,将PolarDB与VVP之间的网络打通。详情请参见Flink全托管集群如何访问公网?和如何访问跨VPC的其他服务?。
- MySQL服务器配置要求
- 版本限制
VVR 4.0.8及以上版本的MySQL CDC Connector支持读取5.7和8.0.x版本的MySQL,VVR 4.0.11及以上版本的MySQL CDC Connector支持读取5.6、5.7和8.0.x版本的MySQL。您可以通过执行select version()命令来查看MySQL的版本。
- 需要开启Binlog您可以通过执行show variables like "log_bin"命令查看Blinlog是否已开启。
- 如果返回值为ON,则表示已开启。
- 如果返回值为OFF,则表示未开启。如果您需要开启Binlog,请参见开启Binlog。
- Binlog格式需要为ROW。
您可以通过show variables like "binlog_format"命令查看Binlog格式。PolarDB MySQL默认格式为ROW。
- binlog_row_image需要为FULL。
您可以通过show global variables like "binlog_row_image"命令查看Binlog image。PolarDB MySQL默认image为FULL。
- 版本限制
- 会话参数配置要求当读取大型数据库全量数据快照时,已建立的连接可能会在读取表数据时超时。您可以通过在MySQL配置文件中配置interactive_timeout和wait_timeout参数来防止这种现象。参数详情如下:
- interactive_timeout(交互超时):对于交互式connection,服务器在关闭交互连接之前等待活动的秒数。配置指导请参见设置集群参数和节点参数。
- wait_timeout(等待超时):对于非交互式connection,服务器在关闭连接之前等待活动的秒数。配置指导请参见设置集群参数和节点参数。
- 账号权限配置要求创建一个普通用户并授予该用户SELECT、REPLICATION SLAVE和REPLICATION CLIENT权限,MySQL CDC同步PolarDB MySQL数据的过程中需要此三个权限。创建用户并授予权限操作详情,请参见创建数据库账号。重要 在PolarDB控制台创建的账号默认没有SELECT权限。因此您需要手动添加SELECT权限,添加权限详情请参见MySQL数据库账号权限管理。
自建MySQL
- 网络连接配置要求自建MySQL和VVP之间需要网络连通。
- 如果您的MySQL部署在阿里云上,且和VVP均处于同地域的同一VPC网络中,则MySQL与VVP的网络是连通的。
- 如果您的MySQL不在阿里云上,则需要有公网地址,使得VVP能够访问该地址。因此您需要通过VPN网关将自建MySQL和VVP的网络打通。详情请参见Flink全托管集群如何访问公网?。
- MySQL服务器配置要求
- 版本限制
VVR 4.0.8及以上版本的MySQL CDC Connector支持读取5.7和8.0.x版本的MySQL,VVR 4.0.11及以上版本的MySQL CDC Connector支持读取5.6、5.7和8.0.x版本的MySQL。您可以通过执行select version()命令来查看MySQL的版本。
- 需要开启Binlog您可以通过执行show variables like "log_bin"命令查看Blinlog是否已开启。
- 如果返回值为ON,则表示已开启。
- 如果返回值为OFF,则表示未开启。如果您需要开启Binlog,请参见开启Binlog。
- Binlog格式需要为ROW。
您可以通过show variables like "binlog_format"命令查看Binlog格式。如果不为ROW,则需要将Binlog格式设置为ROW,详情请参见设置Binlog格式。
- binlog_row_image需要为FULL。
您可以通过show global variables like "binlog_row_image"命令查看Binlog image。如果不为FULL,则需要将binlog_row_image设置为FULL,详情请参见binlog_row_image设置。
- 版本限制
- 会话参数配置要求当为大型数据库读取全量数据时,已建立的连接可能会在读取表数据时超时。您可以通过在MySQL配置文件中配置interactive_timeout和wait_timeout参数来防止这种现象。参数详情如下:
- interactive_timeout(交互超时):对于交互式connection,服务器在关闭交互连接之前等待活动的秒数。配置指导请参见配置MySQL interactive_timeout参数。
- wait_timeout(等待超时):对于非交互式connection,服务器在关闭连接之前等待活动的秒数。配置指导请参见配置MySQL wait_timeout参数。
- 账号权限配置要求创建一个用户并授予该用户SELECT、REPLICATION SLAVE和REPLICATION CLIENT权限。操作步骤如下:
- 创建账号并设置密码。
详情请参见创建用户。CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
- 配置用户所需权限。
GRANT SELECT, REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'user' IDENTIFIED BY 'password';
*.* 表示授权账号所有数据库中所有表均拥有上述权限。您也可以指定授权账号给单个数据库上述权限,即mydb.*。
- 确定用户权限。
FLUSH PRIVILEGES;
- 创建账号并设置密码。