MAXWELL

MAXWELL

一、maxwell是什么

maxwell 官网地址:http://maxwells-daemon.io/

因为官网是纯英文的,倒是不难懂,但总觉得写的略粗糙(也可能笔者英文水平确实拉胯,有待提高)。所以还是自己百度了一下。

当mysql的主库发生变更的时候(DDL和DML),master会将日志记录到二进制日志文件中,slave拷贝二进制日志,并重做日志中的相关操作,从而保证与master的一致性。

maxwell其实就是利用这个原理,从mysql获取二进制文件(Binlog),并生成 JSON 格式的消息,作为生产者发送给 Kafka,Kinesis、RabbitMQ、Redis、Google Cloud Pub/Sub、文件或其它平台的应用程序。

cannel也可以做这件事儿,请参考一个大神写的

知乎帖(https://zhuanlan.zhihu.com/p/177001630) 原理类似

二、什么是Binlog

binlog记录了mysql的操作日志(DDL和DML)。一方面保证了主从一致,另一方面也方便数据的恢复。

找到mysql的配置文件

locate my.cnf

在参数节 [mysqld] 下可以配置参数 log-bin。参数值列表如下

参数值说明优势不足
statement语句级,记录每次一执行写操作的语句节约空间可能会导致主从数据不一致(update某张表的时间字段为 now())
row记录每次操作后每行记录的变化确保数据一致性空间消耗较大
mixed混合级别,默认还是 statement,某些情况下会以row方式维护节省空间,同时兼顾了一定的一致性仍然会有不一致的情况

三、安装部署

1、安装

上传安装包并解压

tar -zxvf 安装包路径 -C 安装路径

2、配置maxwell知识库

登录mysql库

mysql -uroot -p密码

创建maxwell库

create database maxwell;

修改密码级别

密码最小长度为4,密码强度为0

set global validate_password_length=4;
set global validate_password_policy=0;

具体参数参考本文档的 五、其他

3、修改mysql配置文件

 sudo vim /etc/my.cnf

在 [mysqld] 下添加参数

server_id=1
log-bin=mysql-bin
binlog_format=row
#binlog-do-db=test_maxwell

重启mysql

 sudo systemctl restart mysqld

查看日志

sudo ls -l /var/lib/mysql

四、启动

1、命令启动

bin/maxwell --user='maxwell' --password='123456' --host='hadoop102' --producer=stdout

producer 生产者模式(stdout:控制台 kafka:kafka 集群)

2、配置文件启动

cp config.properties.example config.properties

修改 config.properties

bin/maxwell --config ./config.properties

五、其他

1、MYSQL密码策略

查看密码策略

show variables like 'validate_password%';

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

属性描述
validate_password_check_user_nameOFF设置为ON的时候表示能将密码设置成当前用户名
validate_password_dictionary_file于检查密码的字典文件的路径名,默认为空
validate_password_length4密码的最小长度
validate_password_mixed_case_count1如果密码策略是中等或更强的,validate_password要求密码具有的小写和大写字符的最小数量。对于给定的这个值密码必须有那么多小写字符和那么多大写字符。
validate_password_number_count1密码必须包含的数字个数
validate_password_policyLOWright-aligned 密码强度检验等级,可以使用数值0、1、2或相应的符号值LOW、MEDIUM、STRONG来指定。
0/LOW:只检查长度。
1/MEDIUM:检查长度、数字、大小写、特殊字符。
2/STRONG:检查长度、数字、大小写、特殊字符、字典文件。
validate_password_special_char_count1密码必须包含的特殊字符个数
殊字符个数

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

WhatsApp会话信息该如何备份以及还原

对于出海企业来说,WhatsApp是和客户沟通的必备软件之一。无论是聊单还是询盘都可以在WhatsApp上进行,所以WhatsApp上通常存储了很多交易信息。但是WhatsApp软件本身是端对端加密,所以它不会像其他社交软件一样帮你自动在后台备份,…

制造业管理软件:为何ERP替代不了MES?

一、ERP和MES的功能区别 ERP是一种综合性的企业管理软件,它涵盖了企业的各个方面,包括财务、采购、库存、销售、人力资源等。它的主要功能是将企业内部的各项业务整合为一个整体进行管理,实现信息共享和协同工作。ERP的主要特点是可以对企业…

HackTheBox - Medium - Linux - Noter

Noter Noter 是一种中型 Linux 机器,其特点是利用了 Python Flask 应用程序,该应用程序使用易受远程代码执行影响的“节点”模块。由于“MySQL”守护进程以用户“root”身份运行,因此可以通过利用“MySQL”的用户定义函数来利用它来获得RCE并…

c语言小游戏之扫雷

目录 一:游戏设计理念及思路 二:初步规划的游戏界面 三:开始扫雷游戏的实现 注:1.创建三个文件,test.c用来测试整个游戏的运行,game.c用来实现扫雷游戏的主体,game.h用来函数声明和包含头文…

【立创EDA-PCB设计基础】5.布线设计规则设置

前言:本文详解布线前的设计规则设置。经过本专栏中的【立创EDA-PCB设计基础】前几节已经完成了布局,接下来开始进行布线,在布线之前,要设置设计规则。 目录 1.间距设置 1.1 安全间距设置 1.2 其它间距设置 2.物理设置 2.1 导…

枚举类型有着一篇足以

✅作者简介:大家好,我是橘橙黄又青,一个想要与大家共同进步的男人😉😉 🍎个人主页:橘橙黄又青-CSDN博客 1.关键字enum的定义 enum是C语言中的一个关键字,enum叫枚举数据类型&#…

JavaScript基础之JavaScript引入方式

JavaScript引入方式 JavaScript 程序不能独立运行,它需要被嵌入 HTML 中,然后浏览器才能执行 JavaScript 代码。通过 script 标签将 JavaScript 代码引入到 HTML 中,一般以下方式: 外部方式内部方式JavaScript元素事件通过JavaScript伪URL引…

Spring Boot 4.0:构建云原生Java应用的前沿工具

目录 前言 Spring Boot简介 Spring Boot 的新特性 1. 支持JDK 17 2. 集成云原生组件 3. 响应式编程支持 4. 更强大的安全性 5. 更简化的配置 Spring Boot 的应用场景 1. 云原生应用开发 2. 响应式应用程序 3. 安全性要求高的应用 4. JDK 17的应用 总结 作…

【射影几何11】完全四边形和交比研究

一、说明 对于交比的灵活应用,尚有许多情况需要讨论,首先引出完全四边形的例子,该关键词的应用非常普遍;其次,我们尝试用交比证明一些事实;随后我们又引出交比射影案例的特殊情况。 二、完全四边形 2.1 完…

Excel 动态可视化图表分享

AIGC ChatGPT 职场案例 AI 绘画 与 短视频制作 PowerBI 商业智能 68集 数据库Mysql 8.0 54集 数据库Oracle 21C 142集 Office 2021实战应用 Python 数据分析实战, ETL Informatica 数据仓库案例实战 Excel 2021实操 100集, Excel 2021函数大全 80集 Exc…

SqlAlchemy使用教程(五) ORM API 编程入门

SqlAlchemy使用教程(一) 原理与环境搭建SqlAlchemy使用教程(二) 入门示例及编程步骤SqlAlchemy使用教程(三) CoreAPI访问与操作数据库详解SqlAlchemy使用教程(四) MetaData 与 SQL Express Language 的使用SqlAlchemy使用教程(五) ORM API 编程入门 前一章用SQL表达式(SQL Expr…

Android:JNI实战,加载三方库、编译C/C++

一.概述 Android Jni机制让开发者可以在Java端调用到C/C,也是Android应用开发需要掌握的一项重要的基础技能。 计划分两篇博文讲述Jni实战开发。 本篇主要从项目架构上剖析一个Android App如何通过Jni机制加载三方库和C/C文件。 二.Native C Android Studio可…

高防IP如何保护服务器

首先我们要知道什么是高防IP~ 高防IP是指高防机房所提供的ip段,主要是针对互联网服务器遭受大流量DDoS攻击时进行的保护服务。高防IP是目前最常用的一种防御DDoS攻击的手段,用户可以通过配置DDoS高防IP,将攻击流量引流到高防IP,防…

样品前处理国产微波消解罐的优势

国产微波消解罐参数: 型号 MARS5、MARS6等 内罐材质 TFM 外罐材质 宇航纤维复合材料 耐温 -200~260℃ 规格 25ml、55ml、75ml、100ml、110ml 厂家秉承 “客户、服务、技术”为根本的理念国产替代微波罐受到众多用户的青睐。 特性&#xff1a…

【LeetCode】每日一题 2024_1_21 分割数组的最大值(二分)

文章目录 LeetCode?启动!!!题目:分割数组的最大值题目描述代码与解题思路 LeetCode?启动!!! 今天是 hard,难受,还好有题解大哥的清晰讲解 题目&a…

论文阅读:Vary论文阅读笔记

目录 引言整体结构图数据集构造Vary-tiny部分Document Data数据构造Chart Data构造Negative natural image选取 Vary-base部分 引言 论文:Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models Paper | Github | Demo 许久不精读论文了&#x…

文件操作与IO(3)

文件内容的读写--数据流 这里我们将要讲到文件操作中的重要概念--流. 之前也在C语言讲解中提到了文件流的概念---读写文件内容 分为这几步:(1)打开文件;(2)读/写文件;(3)关闭文件. 数据流主要分为字节流和字符流. 字节流:以字节为单位进行读写(代表:InputStream,OutputStrea…

20240122让WIN10在启动的时候进入安全模式

20240122让WIN10在启动的时候进入安全模式 2024/1/22 18:30 缘起:为了使用openai的whisper识别小语种【非英语】电影的字幕,决定开始折腾CUDA了!https://github.com/openai/whisper https://www.bilibili.com/video/BV1d34y1F7qA https://www…

API协议设计的十种技术

文章目录 前言一、REST二、GraphQL三、gRPC(google Remote Procedure Calls)四、Webhooks五、服务端的事件发送——SSE(Server-sent Events)六、EDI(Electronic Data Interchange)七、面向API 的事件驱动设…

HarmonyOS NEXT 开发者必看“清单“就在这里!

随着HarmonyOS NEXT开启开发者预览版Beta招募,开发者可以体验到全面升级的 OS开放新能力、鸿蒙特征新场景、开发工具等。这是一项需要广大开发者一起参与的伟大事业,华为期待携手开发者一路同行,共赴鸿蒙生态的星辰大海。如何借助HarmonyOS N…