首页 > 数据库 >debezium同步mysql数据至kafka(未完待续)

debezium同步mysql数据至kafka(未完待续)

时间:2023-06-23 22:13:23浏览次数:52  
标签:binlog log kafka 未完待续 user mysql 镜像 debezium

实验环境

全部部署于本地虚拟机

1 mysql

参考 官方文档 和 根据官方示例镜像(debezium/example-mysql,mysql版本为8.0.32)

1.1 创建用户

官方镜像里一共有三个账号
debezium:connect用户
mysqluser:普通用户
replicator:用于主从?

设置命令

create user 'debezium'@'%' identified by "dbz";
create user 'mysqluser'@'%' identified by "mysqlpw";
create user 'replicator'@'%' identified by "replicator";
GRANT SELECT, RELOAD, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'debezium'@'%';
GRANT USAGE ON *.* TO 'mysqluser'@'%';
GRANT ALL PRIVILEGES ON `inventory`.* TO 'mysqluser'@'%';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'replicator'@'%';
flush privileges;

查询命令

select host,user from mysql.user;
show grants for `debezium`@`%`;

1.2 设置binlog

镜像配置文件

/etc/mysql/conf.d/mysql.cnf

[mysqld]
skip-host-cache
skip-name-resolve
user=mysql
symbolic-links=0
# ----------------------------------------------
# Enable the binlog for replication & CDC
# ----------------------------------------------
# Enable binary replication log and set the prefix, expiration, and log format.
# The prefix is arbitrary, expiration can be short for integration tests but would
# be longer on a production system. Row-level info is required for ingest to work.
# Server ID is required, but this will vary on production systems
server-id = 223344
log_bin = mysql-bin
expire_logs_days = 1
binlog_format = row

default_authentication_plugin = mysql_native_password

查询命令

SELECT variable_value as "BINARY LOGGING STATUS (log-bin) ::" FROM performance_schema.global_variables WHERE variable_name='log_bin';

1.3 使能GTIDs(实际镜像中未开启)

查询命令

SHOW VARIABLES LIKE 'gtid_mode';

1.4 配置会话定时器(实际镜像中为默认值 28800)

查询命令

show variables like 'interactive_timeout';
show variables like 'wait_timeout';

1.5 Enabling query log events(实际镜像中未开启)

查询命令

show variables like 'binlog_rows_query_log_events';

1.6 确认binlog row value options

查询命令

确保不为“PARTIAL_JSON”即可

show global variables where variable_name = 'binlog_row_value_options';

配置命令

set @@global.binlog_row_value_options="" ;

2 启动kafka

参考博文
单节点kafka部署笔记

3 启动connector

下载docker镜像

docker pull quay.io/debezium/postgres

标签:binlog,log,kafka,未完待续,user,mysql,镜像,debezium
From: https://www.cnblogs.com/virtualzzf/p/17499510.html

相关文章

  • mysql基础
    一存储引擎1mysql存储引擎的种类:MYISAM InnoDB(默认)2.MYISAM和InnoDB的区别在于InnoDB支持事物处理和外键约束3.MYISAM和InnoDB的应用场景的区别:MYISAM不需要事物,空间小,已查询访问为主;InnoDB多删除,更新操作,安全性高,事物处理即并发控制查询存储文件showvariableslike'&sto......
  • css的一些技巧汇总(未完待续)
    1.height无法达到效果时,可以试试max-height比如:transition对height:auto无效,可以通过max-height:50vh解决2.:focus和:blur事件在交互上存在冲突时,可以通过hover解决比如:input的blur失去焦点ul收起,但在点击li标签时,因为收起的太快无法触发事件,所以可以用hover不收起解决......
  • mysql索引优点缺点及命令
    索引是什么:索引是对数据库表中一列或者多列的值进行排序的一种结构,使用索引可提高数据库中特定数据的查询速度。(索引本质上是数据库结构,拥有排序跟查找两种功能,可以理解为排好顺序,快速查询数据库)。索引优点:加快查询速度。创建唯一索引保证了数据的唯一性。3.实现数据的完整性,加速表......
  • springboot整合mysql和clickhouse多数据源
    1、添加依赖<!--MyBatis-PlusStarter--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.2.0</version></dependency>......
  • mysql的IN查询优化
    mysql的IN里面的数量太大,比如大于1千时,查询的性能就会差很多。有以下的解决方法。解决方法一:拆分IN的数量IN数量超过1千,就拆成多条sql,每条sql的IN数量不超过1千。用OR或者UNION进行SQL改写。也可以使用Java写代码,把IN数量进行拆分,每条sql的IN数量不超过1千。多次执行。......
  • Mysql存储引擎
    原文链接:https://blog.csdn.net/lzb348110175/article/details/106555504本文目录:1.MySQL体系结构2.存储引擎介绍3.MySQL存储引擎特性4.MySQL有哪些存储引擎5.了解MySQL数据存储方式6.MySQL存储引擎介绍6.1CSV存储引擎6.1.1CSV介绍6.1.2使用CSV存储引擎......
  • mysql的数据类型以及mysql中的int11是什么意思
    今天抽时间来讲一下mysql里的知识点,之前有不少人问过我,mysql中的int(11),这个11到底是啥意思?是11位的意思吗?你是否也想过这个问题,是否也有这个疑问?ok,今天就展开来讲一下,用通俗易懂的大白话来给你彻底搞明白一、跟你扯点二进制的小东西要讲清楚这个问题,我先来给大家科普一点计算......
  • MySQL事务四大隔离级别分析
    什么是事务?事务,由一个有限的数据库操作序列构成,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务的四大特性原子性:事务作为一个整体被执行,包含在其中的对数据库的操作要么全部都执行,要么都不执行。一致性:指在事务开始之前和事务结束以后,数据不会被破坏,......
  • Mysql 事务
    1.事务基本特性ACID1.1原子性:     指的是一个事务中的操作要么全部成功,要么全部失败。1.2一致性     指的是数据库总是从一个一致性的状态转换到另外一个一致性的状态。比如A转账给B100块钱,假设中间sql执行过程中系统崩溃A也不会损失100块,因为事务没有提交,修......
  • mysql
    一登录mysql 1.windowsCMD登录输入mysql -uroot-p1234562.mysql命令界面登录:输入密码1234563. 命令行登录:在navicat中连接mysql输入密码123456二 初识mysql数据库简介1.为何需要数据库可以持久化2.数据库能够做什么存储大量数据,方便检索和访问(数据库中的数据量大)......