适合跨网段部署rabbitmq。例如外网内网通过mq传输数据。外网和内网mysql和canal都要装,rabbitmq装到中间机。windows环境。
1、mysql开binlog
1、安装完mysql后,修改my.ini文件,并重启mysql。
[mysqld]
log-bin=mysql-bin #添加这一行就 ok
binlog-format=ROW #选择 row 模式
server_id=1 #不能和canal的slaveId重复
2、检查配置是否生效
SHOW VARIABLES LIKE ‘%log_bin%’
log_bin = ON 表示开启了
注意:mysql8默认开启binlog,直接跳过第一步;mysql5.7自己创建my.ini。
2、安装canal
1、 下载canal
https://github.com/alibaba/canal/releases/tag/canal-1.1.5

注意:将canal安装在数据库服务器上。
2、 解压缩,修改canal相关配置
(1) canal.properties
canal.serverMode = rabbitMQ
rabbitmq.host = mq所在机器的ip
rabbitmq.virtual.host = /
rabbitmq.exchange = canal.exchange
rabbitmq.username = admin
rabbitmq.password = admin
(2) instance.properties
canal.instance.master.address=127.0.0.1:3306
canal.instance.dbUsername=root
canal.instance.dbPassword=Mysql的root密码
canal.mq.topic=canal.routing.key
ps:db的用户密码可以是自己创建的canal用户,图省事用root。不合规。
3、 启动canal,验证是否成功
Bin下面双击startup.bat即可启动。D:\canal\logs\下的log没有报错则代表启动成功。
3、安装rabbitmq
1、 http://www.erlang.org/downloads下载安装Eralng,以管理员身份安装。直接下一步点完。安装完成之后创建一个名为ERLANG_HOME的环境变量,其值指向erlang的安装目录,同时将%ERLANG_HOME%\bin加入到Path中,最后打开命令行,输入erl,如果出现erlang的版本信息就表示erlang语言环境安装成功;
2、 下载安装rabbitMq,安装目录不能有中文或空格。直接下一步点完。注意,安装到中间机,两边都开端口5672。
3、 安装RabbitMQ-Plugins,这个相当于是一个管理界面,方便我们在浏览器界面查看RabbitMQ各个消息队列以及exchange的工作情况,安装方法是:打开命令行cd进入rabbitmq的sbin目录(我的目录是:E:\software\rabbitmq\rabbitmq_server-3.6.5\sbin),输入:rabbitmq-plugins enable rabbitmq_management命令,稍等会会发现出现plugins安装成功的提示,默认是安装6个插件,如果你在安装插件的过程中出现了下面的错误:
解决方法是:首先在命令行输入:rabbitmq-service stop,接着输入rabbitmq-service remove,再接着输入rabbitmq-service install,接着输入rabbitmq-service start,最后重新输入rabbitmq-plugins enable rabbitmq_management试试,我是这样解决的;
4、 插件安装完之后,重启服务,双击sbin目录下的rabbitmq-server.bat(双击后可能需要等待一会),然后在浏览器输入http://localhost:15672进行验证,你会看到下面界面,输入用户名:guest,密码:guest你就可以进入管理界面,当然用户名密码你都可以变的;
5、 建议自己新建admin用户。
6、 通过http://localhost:15672配置exchange和queue。注意通过routingkey进行bind。