广州番禺网站建设工作室,跨境建站服务公司,开发公司房屋移交物业,wordpress 强大CDC#xff08;Change Data Capture#xff09;即数据变更抓取#xff0c;通过源端数据源开启CDC#xff0c;ROMA Connect 可实现数据源的实时数据同步以及物理表的物理删除同步。这里介绍通过开启Binlog模式CDC功能。
注意#xff1a;1、使用MYSQL8.0及以上版本。 2、不…CDCChange Data Capture即数据变更抓取通过源端数据源开启CDCROMA Connect 可实现数据源的实时数据同步以及物理表的物理删除同步。这里介绍通过开启Binlog模式CDC功能。
注意1、使用MYSQL8.0及以上版本。 2、不支持采集二进制类型的字段例如TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB
一、登录数据库
需要用数据库管理员root账户进行CDC功能配置登录root账户
mysql -uroot -p回车输入数据库密码。
二、查看数据库是否已经开启了Binlog
这里先查看是否开启了Binlog因为如果数据库配置过双主或者主从库那么一般情况下是已经开启了可以直接跳到第四步。 执行以下命令查看数据库是否开启了Binlog
show variables like log_bin;若变量log_bin的值为“ON”则说明Binlog已开启执行以下SQL命令检查相关参数的配置是否符合要求
show variables like %binlog_format%;
show variables like %binlog_row_image%;变量binlog_format的值应该为“ROW”变量binlog_row_image的值应该为“FULL” 则代表已经配置过Binlog无需重复配置直接跳到第四步。
三、开启Binlog
如果上面经过 “show variables like ‘log_bin’; ”查询结果为OFF 或者下面的条件查询不满足建议直接重新配置Biglog
3.1 配置前先退出在命令窗口输入quit 退出数据库
3.2 使用vi 命令编辑MYSQL配置文件Linux
这里以linux为例windows server 系统配置文件在安装目录my.ini
vi /etc/my.cnf输入“i”进入修改模式在配置文件中增加
server-id 123 # 应为大于1的整数根据实际设置注意在创建数据集成任务时设置的“Server Id”值需要此处设置的值不同
log_bin mysql-bin #
binlog_format row
binlog_row_image full
expire_logs_days 10 # Binlog日志文件保留时间超过保留时间的Binlog日志会被自动删除应保留至少10天的日志文件
gtid_mode on # MYSQL 版本大于5.6.5时添加否则删除
enforce_gtid_consistency on # MYSQL 版本大于5.6.5时添加否则删除按Esc退出编辑模式输入“:wq”保存并退出。
3.3重启数据库并返回到第二步查询验证设置是否生效
重启数据库
service mysqld restart返回第二步查询验证
四、创建ROMA Connect连接数据库的用户
4.1 重新使用root账户登录数据库步骤略
4.2 创建账户
CREATE USER wyzx_data_train% IDENTIFIED BY password;wyzx_data_train是创建的用户名自定义 % 是任意IP都可以登录 password 账户密码自定义
4.3 修改数据库连接用户的密码认证
mysql8.0版本 后都需要修改密码认证
ALTER USER wyzx_data_train IDENTIFIED WITH mysql_native_password BY password;
flush privileges;wyzx_data_train 上面创建的用户名 flush privileges; 最后刷新权限
4.3 为账户授权
grant select, replication slave, replication client on *.* to wyzx_data_train%;grant用户权限管理命令可以管理用户访问哪些库哪些表管理用户对表的操作SELECT、CREATE、DELETE、DELETE、ALTER等详见下管理用户登录的ip和域名限制用户自己的权限是否可以授权给别的用户等。
select, replication slave, replication client等等是要授权的用户权限可以使用全部权限 all privileges
on表示这些权限对哪些数据库和表生效格式数据库名.表名这里写“*”表示所有数据库所有表。如果我要指定将权限应用到test库的user表中可以这么写test.user
to将权限授予哪个用户。格式”用户名””登录IP或域名”。%表示没有限制在任何主机都可以登录。比如”yangxin””192.168.0.%”表示yangxin这个用户只能在192.168.0IP段登录 另外有with grant option with grant option表示允许用户将自己的权限授权给其它用户
**注意 1、可以使用GRANT给用户添加权限权限会自动叠加不会覆盖之前授予的权限比如你先给用户添加一个SELECT权限后来又给用户添加了一个INSERT权限那么该用户就同时拥有了SELECT和INSERT权限。 2、如果on不是所有库的所有表模式那么应该注意授权的权限有些权限不能针对某个库某个表授权会报错“incorrect usage of db grant and global privileges”。 那么根据上面一条的叠加规则可以分开授权例如
grant select, on my_db.* to wyzx_data_train%;
grant replication slave, replication client on my_db.* to wyzx_data_train%;** 授权附录
PrivilegeColumnContextALL [PRIVILEGES]Synonym for “all privileges”Server administrationALTERAlter_privTablesALTER ROUTINEAlter_routine_privStored routinesCREATECreate_privDatabases, tables, or indexesCREATE ROUTINECreate_routine_privStored routinesCREATE TABLESPACECreate_tablespace_privServer administrationCREATE TEMPORARY TABLESCreate_tmp_table_privTablesCREATE USERCreate_user_privServer administrationCREATE VIEWCreate_view_privViewsDELETEDelete_privTablesDROPDrop_privDatabases, tables, or viewsEVENTEvent_privDatabasesEXECUTEExecute_privStored routinesFILEFile_privFile access on server hostGRANT OPTIONGrant_privDatabases, tables, or stored routinesINDEXIndex_privTablesINSERTInsert_privTables or columnsLOCK TABLESLock_tables_privDatabasesPROCESSProcess_privServer administrationPROXYSee proxies_priv tableServer administrationREFERENCESReferences_privDatabases or tablesRELOADReload_privServer administrationREPLICATION CLIENTRepl_client_privServer administrationREPLICATION SLAVERepl_slave_privServer administrationSELECTSelect_privTables or columnsSHOW DATABASESShow_db_privServer administrationSHOW VIEWShow_view_privViewsSHUTDOWNShutdown_privServer administrationSUPERSuper_privServer administrationTRIGGERTrigger_privTablesUPDATEUpdate_privTables or columnsUSAGESynonym for “no privileges”Server administration