当前位置: 代码迷 >> 综合 >> 【实操教程】Ubuntu+mysql8.0+Canal1.1.4搭建,虚拟机上搭建canal的踩坑记录
  详细解决方案

【实操教程】Ubuntu+mysql8.0+Canal1.1.4搭建,虚拟机上搭建canal的踩坑记录

热度:96   发布时间:2023-09-18 18:11:50.0

Ubauntu+Canal搭建

  • Ubuntu虚拟机
    • 工具
    • 过程
  • 安装mysql
    • 完全卸载
  • 安装canal
    • 1\检查binlog功能是否有开启
    • 2\添加相关用户和权限
    • 3\安装Canal服务
      • 下载&解压
      • 配置
      • Demo

Ubuntu虚拟机

工具

1\vmware
2\ubuntu镜像

过程

VMware获取链接:https://pan.baidu.com/s/1YsR03dHL8dj-DyNHvyuDcw
提取码:u5mb

Ubuntu镜像下载:https://ubuntu.com/download/desktop

安装过程可以参考我之前的一篇:大数据入门(一)环境搭建,VMware15+CentOS8.1配置

安装mysql

安装过程参考作者"壹念メ婲開"的博客:Ubuntu 安装 MySQL 8.0+

完全卸载

依次执行下面的语句:

sudo apt-get autoremove --purge mysql-server
sudo apt-get remove mysql-server
sudo apt-get autoremove mysql-server
sudo apt-get remove mysql-common 
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

安装canal

1\检查binlog功能是否有开启

进入mysql:mysql -u root -p,输入密码;
然后show variables like 'log_bin';如图:
【实操教程】Ubuntu+mysql8.0+Canal1.1.4搭建,虚拟机上搭建canal的踩坑记录
如果没有开启注意要到/etc/mysql/mysql.conf.d目录下;
然后vim mysqld.conf

原因可以参考:关于Linux安装mysql 在/etc下没有my.cnf解决办法(实测)

然后做如下修改:

[mysqld]
log-bin=mysql-bin #添加这一行就ok
binlog-format=ROW #选择row模式
server_id=1 #配置mysql replaction需要定义,不能和canal的slaveId重复

重启mysql:service mysql restart
再次进入mysql,show variables like 'log_bin';查看

2\添加相关用户和权限

这部分是进入mysql后操作的

CREATE USER 'canal'@'%' IDENTIFIED BY 'canal';
GRANT SHOW VIEW, SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
FLUSH PRIVILEGES;

3\安装Canal服务

下载&解压

下载地址:
https://github.com/alibaba/canal/releases
【实操教程】Ubuntu+mysql8.0+Canal1.1.4搭建,虚拟机上搭建canal的踩坑记录
【实操教程】Ubuntu+mysql8.0+Canal1.1.4搭建,虚拟机上搭建canal的踩坑记录
下载之后,解压文件到指定路径

tar zxvf canal.deployer-1.1.4.tar.gz -C /usr/local/canal

配置

进入解压路径:

cd /usr/local/canal

然后编辑这个文件

vim conf/example/instance.properties
#把下面这块内容改为自己的数据库用户名和密码:【例如:root和12345】
canal.instance.dbUsername=canal
canal.instance.dbPassword = canal

启动:sh bin/startup.sh

不再使用的时候可以停止:sh bin/ stop.sh
注意:停止后需要删除以下文件/home/test/canal/conf/example/meta.dat文件和/home/test/canal/logs下面的文件

Demo

安装java:

apt-get install openjdk-8-jre-headless
apt-get install openjdk-8-jdk-headless

安装eclipse:
【实操教程】Ubuntu+mysql8.0+Canal1.1.4搭建,虚拟机上搭建canal的踩坑记录
maven创建参考:
https://jingyan.baidu.com/album/59a015e30b44acf794886522.html?picindex=1

参考:Canal环境搭建(几乎帮你避过所有的坑)——”二、创建canal_client模块并引入相关依赖“