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密码必须包含的特殊字符个数
殊字符个数

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

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

相关文章

测试必须要知道的四个主要阶段

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

力扣hot100 反转链表 指针 递归 一题多解

Problem: 206. 反转链表 文章目录 思路💖 迭代 双指针💖 递归 思路 👨‍🏫 大佬题解 💖 迭代 双指针 ⏰ 时间复杂度: O ( n ) O(n) O(n) 🌎 空间复杂度: O ( 1 ) O(1) O(1) /*** Definition for …

LLM RAG 多种方式装载LLM的实践

一、大模型系统中检索增强生成(RAG)的意义 当前大模型在处理特定领域或者高度专业化的查询时表现出知识缺失,当所需信息超出模型训练数据范围或需要最新数据时,大模型可能无法提供准确答案。基于行业SOP、行业标准、互联网实时信…

【Android 10】 BatteryController

学习了一下电池的相关模式,也就是它的观察者模式,先附上图 图应该挺清晰的,BatteryControllerImpl就是被观察者,BatteryControllerImpl重写了CallbackController的两个方法用于添加或移除观察者。 void addCallback(T listener);…

vivado 预设文件、IP设置(_P)、用户参数、以太网时钟处理、GT位置限制、当前可识别板的IP列表

了解预设文件 预设文件有助于在特定配置中自定义IP核心。PS7、axi_emc和当linear_flash或DDR3_SDRAM 界面是在Vivado IP集成商的Board选项卡中选择的。预设文件使用XML格式。preset_file是为特定的Board文件定义的&#xff0c;可以是用于将预设应用于多个IP。 <ip_presets…

UG制图-视图与投影

当我们进入图纸页后&#xff0c;我们需要对产品进行投影然后进行标注 注意&#xff1a;如果是从零件3D中直接进入制图&#xff0c;默认情况下图框所在的图层是不显示的&#xff0c;我们可以通过菜单或者快捷键ctrl L进入图层设置模块&#xff0c;将图层170和173勾选为显示 我…

解开缺省参数与函数重载的衣裳

解开缺省参数与函数重载的衣裳 代码是如何由编译器变为可执行文件&#xff1f;预处理 ->编译->汇编->链接预处理编译汇编链接 语法了解缺省参数语法实践语法探究函数重载语法实践语法探究结语 本期和大家一起探究C中的缺省函数与重载函数的语法说明与汇编过程代码是如…

[java基础揉碎]位运算符

java中有7个位运算&#xff08;&、|、^、~、>>、<<和>>>&#xff09; 第一组 分别是按位与&、按位或|、按位异或^&#xff0c;按位取反~&#xff0c;它们的运算规则是&#xff1a; 按位与& : 两位全为1&#xff0c;结果为1&#xff0c;否则…

蓝桥杯官网填空题(奇怪的分式)

题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 上小学的时候&#xff0c;小明经常自己发明新算法。一次&#xff0c;老师出的题目是&#xff1a;1/4乘以8/5 小明居然把分子拼接在一起&#xff0c;分母拼接在一起&…

基于SpringBoot的高校学科竞赛平台管理系统

基于SpringBoot的高校学科竞赛平台管理系统的设计与实现~ 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBootMyBatis工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 前台界面 管理员界面 教师界面 学生界面 摘要 本文详细介绍了一款基于…

革新区块链:代理合约与智能合约升级的未来

作者 张群&#xff08;赛联区块链教育首席讲师&#xff0c;工信部赛迪特聘资深专家&#xff0c;CSDN认证业界专家&#xff0c;微软认证专家&#xff0c;多家企业区块链产品顾问&#xff09;关注张群&#xff0c;为您提供一站式区块链技术和方案咨询。 代理合约&#xff08;Prox…

开源项目_大模型应用_Chat2DB

1 基本信息 项目地址&#xff1a;https://github.com/chat2db/Chat2DBStar&#xff1a;10.7K 2 功能 Chat2DB 是一个智能且多功能的 SQL 客户端和报表工具&#xff0c;适用于各种数据库。 对于那些平时会用到数据库&#xff0c;但又不是数据库专家的程序员来说&#xff0c;…

盘点几种有线扩展Wifi覆盖范围方式的优缺点

前言 前几天小白到一个朋友的家里&#xff0c;发现她家的主路由是放在玄关的。 这个方式就导致了她家三个卧室的Wifi信号都很弱。 她叫我过去帮忙弄一下网络的问题&#xff0c;这个对于有一点电脑知识的小伙伴来说&#xff0c;基本上不是什么难事&#xff0c;因为每个房间基本…

AVL树底层实现

目录 AVL树简介 AVL树节点定义​编辑 AVL树特性 AVL树的建立 AVL树的插入 AVL树的旋转 验证AVL树 AVL树的实现&#xff08;代码部分&#xff09; AVL树简介 AVL树是对二叉搜索树的改进&#xff0c;二叉搜索树虽可以缩短查找的效率&#xff0c;但如果数据有序或接近有序…

PDsehell16连接pgsql出现“Could not initialize JavaVM“时的解决步骤

问题原因:PowerDesigned16是32位的&#xff0c;只能使用32位的JDK来运行JDBC驱动 解决方案&#xff1a; 一、弄一个32为jdk的免安装包 二、 接下来就是配置系统环境变量了&#xff08;注意是系统不是用户环境变量&#xff09; JAVA_HOME配置刚刚32位的存放地址&#xff0c; …

(二十四)Kubernetes系列之Helm3

Helm为kubernetes的包管理工具&#xff0c;就像Linux下的包管理器&#xff08;yum/apt等&#xff09;&#xff0c;可以很方便的将之前打包好的yaml文件部署到kubernetes上。 1.安装访问地址&#xff1a;https://github.com/helm/helm/releases 点击查看最新的版本&#xff0c…

文件操作与IO(3)

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

【Java网络编程01】网络原理初识

【Java网络编程01】网络原理初识 1. 网络通信基础概念 网络通信&#xff1a;网络互连的目的就是网络通信&#xff0c;即网络数据传输&#xff0c;再直白点而言就是不同主机的不同进程之间基于网络进行数据的传输交互。 那么&#xff0c;在组建的网络上有各种各样的主机&#…

Python量化交易- mplfinance库 -画K线图

mplfinance库 1. mplfinance 模块说明2. mplfinance安装3. mplfinance 模块 plot 基本用法参数typestylemake_addplot设置图表颜色 make_marketcolors添加图表样式 make_mpf_style 4. mplfinance 的基本K线图实现自定义风格和颜色图表尺寸调整、相关信息的显示添加完整移动平均…

Vue 实例创建流程

✨ 专栏介绍 在当今Web开发领域中&#xff0c;构建交互性强、可复用且易于维护的用户界面是至关重要的。而Vue.js作为一款现代化且流行的JavaScript框架&#xff0c;正是为了满足这些需求而诞生。它采用了MVVM架构模式&#xff0c;并通过数据驱动和组件化的方式&#xff0c;使…