MYSQL 8.0 配置CDC(binlog)

CDC(Change Data Capture)即数据变更抓取,通过源端数据源开启CDC,ROMA 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'@'%';

**
授权附录:

PrivilegeColumnContext
ALL [PRIVILEGES]Synonym for “all privileges”Server administration
ALTERAlter_privTables
ALTER ROUTINEAlter_routine_privStored routines
CREATECreate_privDatabases, tables, or indexes
CREATE ROUTINECreate_routine_privStored routines
CREATE TABLESPACECreate_tablespace_privServer administration
CREATE TEMPORARY TABLESCreate_tmp_table_privTables
CREATE USERCreate_user_privServer administration
CREATE VIEWCreate_view_privViews
DELETEDelete_privTables
DROPDrop_privDatabases, tables, or views
EVENTEvent_privDatabases
EXECUTEExecute_privStored routines
FILEFile_privFile access on server host
GRANT OPTIONGrant_privDatabases, tables, or stored routines
INDEXIndex_privTables
INSERTInsert_privTables or columns
LOCK TABLESLock_tables_privDatabases
PROCESSProcess_privServer administration
PROXYSee proxies_priv tableServer administration
REFERENCESReferences_privDatabases or tables
RELOADReload_privServer administration
REPLICATION CLIENTRepl_client_privServer administration
REPLICATION SLAVERepl_slave_privServer administration
SELECTSelect_privTables or columns
SHOW DATABASESShow_db_privServer administration
SHOW VIEWShow_view_privViews
SHUTDOWNShutdown_privServer administration
SUPERSuper_privServer administration
TRIGGERTrigger_privTables
UPDATEUpdate_privTables or columns
USAGESynonym for “no privileges”Server administration

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/181067.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ok-解决qt5发布版本,直接运行exe缺少各种库的问题

已实验第二种方法可用。 工具:电脑必备、QT下的windeployqt Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法…

抵押贷款巨头 Mr. Cooper 遭受网络攻击,影响 IT 系统

导语 近日,美国抵押贷款巨头 Mr. Cooper 遭受了一次网络攻击,导致该公司的 IT 系统受到影响。这一事件引起了广泛的关注,使得 Mr. Cooper 的在线支付平台无法正常运行。本文将为大家详细介绍这次网络攻击事件的具体情况及其对用户和公司造成的…

题解:轮转数组及复杂度分析

文章目录 🍉前言🍉题目🍌解法一🍌解法二:以空间换时间🥝补充:memmove 🍌解法三(选看) 🍉前言 本文侧重对于复杂度的分析,题解为辅。 …

在CARLA中获取CARLA自动生成的全局路径规划

CARLA生成全局路径规划的代码在 carla/PythonAPI/carla/agents/navigation 在自己的carla客户端py文件中 from agents.navigation.basic_agent import BasicAgent # pylint: disableimport-error 如果是pycharm开发,要在pycharm的Settings - Project Structure…

0003Java安卓程序设计-springboot基于Android的学习生活交流APP

文章目录 **摘** **要**目 录系统设计开发环境 编程技术交流、源码分享、模板分享、网课教程 🐧裙:776871563 摘 要 网络的广泛应用给生活带来了十分的便利。所以把学习生活交流管理与现在网络相结合,利用java技术建设学习生活交流APP&…

1825_ChibiOS的OSLIB中的存储分配器

全部学习汇总: GreyZhang/g_ChibiOS: I found a new RTOS called ChibiOS and it seems interesting! (github.com) 1. 之前有点不是很理解什么是静态OS,从这里基本上得到了这个答案。所谓的静态,其实就是内核之中不会使用Free以及Malloc这样…

AoMao Editor (angular) 使用 window.print() 实现 html 导出 PDF 记录

目录 一、需求描述 二、使用 jspdf html2canvas 导出遇到的问题 三、window.print() 导出具体实现 【api: toHtml】 一、需求描述 将 AoMao Editor 富文本插件中的内容导出为PDF。 二、使用 jspdf html2canvas 导出遇到的问题 试了很多插件,但 angular 能用的…

Eclipse使用教程

一、前期准备 JDK环境变量得配置好(java需要先安装好) 【下载Eclipse解压包,可选择去Eclipse官网下载】 Eclipse的安装方式: 下载后解压直接点击进入选择工作区间就可运行 二、Eclipse基本概述: 工作区(w…

JS-函数

定义方式一 定义方式二 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>JS-函数</title> <…

轻量封装WebGPU渲染系统示例<12>- 基础3D对象实体(源码)

当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/main/src/voxgpu/sample/PrimitiveEntityTest.ts 此示例渲染系统实现的特性: 1. 用户态与系统态隔离。 细节请见&#xff1a;引擎系统设计思路 - 用户态与系统态隔离-CSDN博客 2. 高频调用与低频调用隔…

【数据结构】希尔排序

文章目录 前言一、希尔排序的演示图例二、希尔排序&#xff1a;插入排序的优化版本☆三、核心算法思路四、算法思路步骤&#xff08;一&#xff09;预排序 gap>1&#xff08;二&#xff09;gap1 插入排序 完成排序收尾 五、码源详解&#xff08;1&#xff09;ShellSort1 ——…

在前端实现小铃铛上展示消息

点击铃铛显示如下消息框&#xff1a; 如果点击消息&#xff0c;可以实现消息从列表中移除,并从铃铛总数上进行扣减对应的已读消息数。 关于以上功能的实现方式&#xff1a; <!-- 铃铛位置 --><i class"el-icon-bell" click"showPopover true"&…

Json工具类

工具类 package com.wego.controller;import cn.dev33.satoken.annotation.SaIgnore; import cn.dev33.satoken.stp.StpUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.goog…

UE4 Niagara Module Script 初次使用笔记

这里可以创建一个Niagara模块脚本 创建出来长这样 点击号&#xff0c;输出staticmesh&#xff0c;点击它 这样就可以拿到对应的一些模型信息 这里的RandomnTriCoord是模型的坐标信息 根据坐标信息拿到位置信息 最后的Position也是通过Map Set的号&#xff0c;选择Particles的P…

LeetCode题:83删除排序链表中的重复元素 141环形链表

83删除排序链表中的重复元素 题目内容 给定一个已排序的链表的头 head &#xff0c; 删除所有重复的元素&#xff0c;使每个元素只出现一次 。返回 已排序的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,1,2] 输出&#xff1a;[1,2]示例 2&#xff1a; 输入&#xf…

STL-set和map

目录 一、pair和make_pair 1. pair 2. make_pair 二、set &#xff08;一&#xff09;set的模板参数列表 &#xff08;二&#xff09;set的构造 &#xff08;三&#xff09;set的插入 1. 测试1 2. 测试2 &#xff08;四&#xff09;low_bound和upper_bound&#xff…

【行云流水线实践】基于“OneBuild”方法对镜像进行快速装箱 | 京东云技术团队

在云原生领域&#xff0c;无论使用哪种编排调度平台&#xff0c;Kubernetes&#xff0c;DockerSwarm&#xff0c;OpenShift等&#xff0c;业务都需要基于镜像进行交付&#xff0c;我们在内部实践“Source-to-image”和链式构建&#xff0c;总而总结出“OneBuild”模式。 其核心…

python 之softmx 函数

文章目录 总的介绍小应用 总的介绍 Softmax函数是一个常用的激活函数&#xff0c;通常用于多类别分类问题中。它将一个实数向量转换为概率分布。这个函数的输出是一个概率分布&#xff0c;表示输入样本属于每个可能类别的概率。 给定一个具有 (K) 个不同数值的实数向量 z (z1…

内网渗透-域防火墙+入站出站规则+组策略对象同步+不出网隧道上线

一.单机-防火墙-限制端口出入站-熟悉常见主机配置不出网的方式 配置防火墙属性 1.win10虚拟机本地搭建一个网站&#xff0c;配置防火墙属性的入站连接为默认值。 局域网中另一台主机能正常访问 2.入站连接设置为 阻止所有连接 。 因为是我们去访问他的网站&#xff0c;所以是入…

【JAVA学习笔记】 57 - 本章作业

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter14/src/com/yinhai/homework 1. (1)封装个新闻类&#xff0c;包含标题和内容属性&#xff0c;提供get, set方法&#xff0c; 重写toString方法&#xff0c;打印对象时只打印标题; (2)只提供…