MAXWELL

发布时间:2024年01月22日

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密码必须包含的特殊字符个数
殊字符个数
文章来源:https://blog.csdn.net/m0_51192710/article/details/135752151
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。