canal-mysql-es 集成 linux服务器安装总结

目录

mysql 8.0.26 安装

canal 安装

mysql和canal连接

 安装问题:

es安装


mysql 8.0.26 安装

解压32位安装包:
进入安装包所在目录,执行命令:tar -zxvf mysql-5.6.17-linux-glibc2.5-i686.tar.gz

 复制解压后的mysql目录到系统的本地软件目录:
执行命令:cp mysql-8.0.26-el7-x86_64 /usr/local/mysql -r
注意:目录结尾不要加/

.在MySQL根目录下新建一个文件夹data,用于存放数据
mkdir data

添加系统mysql组和mysql用户:
执行命令:
groupadd mysql 
useradd -g mysql mysql

改变 mysql 目录权限
chown -R mysql.mysql /usr/local/mysql/

// 安装数据库:
//进入安装mysql软件目录:执行命令 cd /usr/local/mysql

//修改当前目录拥有者为mysql用户:执行命令 chown -R mysql:mysql ./

//初始化 :8.X版本初始化和之前的不一致
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

这里会生成一个临时密码: A temporary password is generated for root@localhost: +8&O?hOcBMTa,记得保存下来


mysql配置
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

修改my.cnf文件
vim  /etc/my.cnf
 
[mysqld]
    basedir = /usr/local/mysql   
    datadir = /usr/local/mysql/data
    socket = /usr/local/mysql/mysql.sock
    character-set-server=utf8
    port = 3306
   sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
 [client]
   socket = /usr/local/mysql/mysql.sock
   default-character-set=utf8

建立MySQL服务

cp -a ./support-files/mysql.server /etc/init.d/mysqld
 chmod +x /etc/rc.d/init.d/mysqld  

 添加到系统服务  
chkconfig --add mysqld


检查服务是否生效  
chkconfig  --list mysqld

配置全局环境变量
编辑 / etc/profile 文件
# vi /etc/profile
在 profile 文件底部添加如下两行配置,保存后退出
export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
export PATH

设置环境变量立即生效
 source /etc/profile


启动MySQL服务
service mysql start

遇到问题:
Redirecting to /bin/systemctl start mysql.service
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.

原来我这台服务器已经有一个mysql了,所以我修改我自己的mysql端口为3307 
修改my.cnf文件:vim  /etc/my.cnf
启动成功!

登录:
mysql -uroot -p +8&O?hOcBMTa

修改密码:
ALTER user 'root'@'localhost' IDENTIFIED BY '123456';
成功!

设置可以远程登录

                             mysql>use mysql

                            mysql>update user set host='%' where user='root' limit 1;

                                刷新权限

                             mysql>flush privileges;

这部分安装参考:https://blog.csdn.net/github_39533414/article/details/80144890

到此数据库安装完毕

canal 安装

canal安装:
解压:
tar -zxvf canal.deployer-1.0.24.tar.gz

解压后目录结构
bin  conf  lib  logs

bin:目录里有服务的启动,停止和重启脚本。
conf:是相关配置文件文件。
logs:存储服务的日志输出。
创建实例
canal-server有个默认实例:example,即 conf/example/。
现在我们进入刚解压的目录,创建一个自己的实例 myinstance,操作如下:
cd canal-server/conf
cp -r example myinstance

修改canal-server默认读取 myinstance 下面的配置文件

vim canal.properties
找到 canal.destinations 配置项

# canal.destinations = example
canal.destinations = myinstance

:wq保存退出
接着进入 myinstance 目录,配置 mysql的项目配置项
cd myinstance
vim instance.properties

找到canal.instance.master.address,修改为自己的mysql 的地址和端口
# canal.instance.master.address = 127.0.0.1:3306
canal.instance.master.address = 127.0.0.1:3307

修改mysql帐号密码
# canal.instance.dbUsername=canal
# canal.instance.dbPassword=canal
canal.instance.dbUsername=canal_user
canal.instance.dbPassword=canal_password

修改canal-server要监听哪些数据库的哪些表的变动
默认是监听所有库下面的所有表,如下:
canal.instance.filter.regex=.*\\..*

如我只监听test库的user表,修改如下:
# canal.instance.filter.regex=.*\\..*
canal.instance.filter.regex=test.user

:wq保存退出

启动
cd ../..
./bin/startup.sh

查看日志输出
tail -1000f logs/lxwinstance/myinstance.log

这部分安装参考:https://blog.csdn.net/iamzhoujunjia/article/details/107732771

mysql和canal连接

修改my.cnf:vi /etc/my.cnf
添加以下三行内容,如果原来存在,则不需要添加,只需对当前配置项进行修改即可

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

然后重启mysql服务 restart  或者杀死进程,然后再次启动。

原文链接:https://blog.csdn.net/qq_32254003/article/details/76837638

启动IDEA的canal客户端,操作数据,查看是否打印出日志

这部分安装参考:https://blog.csdn.net/iamzhoujunjia/article/details/107732771

 安装问题:

查看canal日志:
遇到问题:
[destination = lxwinstance , address = /127.0.0.1:3307 , EventParser] ERROR c.a.o.canal.parse.inbound.mysql.dbsync.DirectLogFetcher - I/O error while reading from client socket

因为服务器之前已经部署过了mysql  所以我的用端口是3307 不晓得为毛连接不上,我把127.0.0.1 修改成服务器的ip重启就可以了

然后遇到:
2021-07-27 15:08:31.750 [destination = lxwinstance , address = /172.30.9.141:3307 , EventParser] ERROR com.alibaba.otter.canal.common.alarm.LogAlarmHandler - destination:lxwinstance[com.alibaba.otter.canal.parse.exception.PositionNotFoundException: can't find start position for lxwinstance
]
可能是之前手贱删除东西没重启了,看到大佬的这个帖子,按照操作下就好了:
https://blog.csdn.net/Zsigner/article/details/108975390

主要就是 先停止canal  删除 你自己实例里面的  meta.bat文件,重启即可!

es安装

可以参考我之前安装的博客:

https://blog.csdn.net/single_wolf_wolf/article/details/118519065

此为我工作中的记录使用,留待后续学习回顾只用,如有侵权,联系速删!


参考博客:
https://blog.csdn.net/github_39533414/article/details/80144890

https://blog.csdn.net/iamzhoujunjia/article/details/107732771

https://blog.csdn.net/Zsigner/article/details/108975390

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值