赞
踩
Canal是阿里巴巴开源的一个组件,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费。canal的介绍,在github 上的官方文档介绍的很好,我这边就不介绍了。感兴趣的查看git地址:https://github.com/alibaba/canal
Canal 1.1.4版本,迎来最重要的WebUI能力,引入canal-admin工程,支持面向WebUI的canal动态 管理能力,支持配置、任务、日志等在线白屏运维能力,具体文档:Canal Admin Guide。
本地测试准备2台服务器
服务器 | 部署的服务 |
---|---|
a-lf-bigdata | mysql、canal-server |
b-lf-bigdata | mysql、canal-admin、canal-adapter、es、kibana |
(1)安装MySQL的yum仓库
yum -y localinstall https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
(2)安装MySQL
yum -y install mysql-community-server
(3)设置为开机启动
systemctl enable mysqld
(4)启动MySQL
systemctl start mysqld
(5)查看MySQL状态
systemctl status mysqld
(6)查看root临时密码
grep 'temporary password' /var/log/mysqld.log
(7)修改root密码
mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root_12root';
SHOW VARIABLES LIKE 'validate_password%';
set global validate_password.policy=0;
set global validate_password.length=1;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root%123';
exit
mysql -uroot -p
set global validate_password.policy=0;
set global validate_password.length=1;
CREATE USER canal IDENTIFIED BY '2wsxVFR_';
-- GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ;
FLUSH PRIVILEGES;
exit
在a-lf-bigdata的MySQL开启Binlog格式
vi /etc/my.cnf
增加如下配置
server-id=1
log-bin=mysql-bin
binlog-format=ROW
binlog-ignore-db=information_schema
binlog-ignore-db=mysql
binlog-ignore-db=performance_schema
binlog-ignore-db=sys
log-bin用于指定binlog日志文件名前缀,默认存储在/var/lib/mysql 目录下。
server-id用于标识唯一的数据库,不能和别的服务器重复,建议使用ip的最后一段,默认值也不可以。
binlog-ignore-db:表示同步的时候忽略的数据库。
binlog-do-db:指定需要同步的数据库(如果没有此项,表示同步所有的库)
登录mysql查看:
mysql -uroot -p
show master status;
如图,binlog就成功开启了。
禁用explicit_defaults_for_timestamp
mysql -uroot -p
SHOW VARIABLES LIKE '%explicit_defaults_for_timestamp%';
set persist explicit_defaults_for_timestamp=0;
SHOW VARIABLES LIKE '%explicit_defaults_for_timestamp%';
重启MySQL
systemctl status mysqld
mysql -uroot
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。