对于现在无论是初级中级程序员 文档这个东西中高级可以轻松看懂 初级看着还是比较吃力的
面试的时候有没有会被问到数据同步?用什么东西同步 同步效率 同步一致性等等...
首先要知道一些同步工具 这篇带你使用阿里巴巴的Canal同步工具
第一步
找到本地mysql的my.ini 注意区别 linux上的是my.cnf
一般默认路径是 C:\ProgramData\MySQL\MySQL Server 8.0目录下
添加
[mysqld]
log-bin=mysql-bin # 开启 binlog
binlog-format=ROW # 选择 ROW 模式
server_id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复
第二步下载Canal
这里需要创建一个mysql账户
引用文档
授权 canal 链接 MySQL 账号具有作为 MySQL slave 的权限, 如果已有账户可直接 grant
CREATE USER canal IDENTIFIED BY 'canal';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
赋予账户全部权限-- GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ;
FLUSH PRIVILEGES;
命令执行
下载example包: https://github.com/alibaba/canal/releases
然后解压出来
找到conf\example 目录下的instance.properties 文件
注意
jdk11版本以上启动不起来 暂时待我找到解决方案再更新
找到bin目录下
.
启动starthp.bat
找到logs\example目录下日志查看是否启动成功
也可以使用命令查看: type C:xxx\logs\example\example.log
启动成功
然后就可以创建数据或者表测试了
这里提一句 创建的canal账户 如果不赋予全部权限是 不能添加修改等操作的 只读状态
赋予权限之后 无论在哪个数据库创建库和表都会被同步
你学废了吗?
下一篇Canal进阶