Canal配置

我们使用Mysql的bin-log实现数据库与外部缓存的同步
这里使用阿里的canal中间件
相应的cannal客户端也是canal
canal地址https://github.com/alibaba/canal/
文档相关https://github.com/alibaba/canal/wiki/QuickStart
maven依赖:
需要排除掉spring-2.5.6

<dependency>
        <dependency>
            <groupId>com.alibaba.ottergroupId>
            <artifactId>canal.clientartifactId>
            <version>1.0.22version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframeworkgroupId>
                    <artifactId>springartifactId>
                    <version>2.5.6version>
                exclusion>
            exclusions>
        dependency>
dependency>

canal 在服务器下载安装好后
首先开启 mysql 的 binlog

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

给予 canal slave 权限

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

修改 canal 配置

vi conf/example/instance.properties
################################################
## mysql serverId
canal.instance.mysql.slaveId = 1234

# position info
canal.instance.master.address = 127.0.0.1:3306#你的数据库地址
canal.instance.master.journal.name =
canal.instance.master.position =
canal.instance.master.timestamp =

#canal.instance.standby.address =
#canal.instance.standby.journal.name =
#canal.instance.standby.position =
#canal.instance.standby.timestamp =

# username/password
canal.instance.dbUsername = canal
canal.instance.dbPassword = canal
canal.instance.defaultDatabaseName = skyeye
canal.instance.connectionCharset = UTF-8
canal.instance.global.lazy = true  ## 修改为 false,代表立马启动  

# table regex
canal.instance.filter.regex = .*\\..*
# table black regex
canal.instance.filter.black.regex =

#################################################
    canal.instance.connectionCharset 代表数据库的编码方式对应到 java 中的编码类型,比如 UTF-8,GBK , ISO-8859-1

修改完了之后
进入 bin 目录

cd bin

启动

./startup.sh  

停止

./stop.sh  

在 logs 目录中查看日志

vim canal/log/canal/canal.log  

暂时写到 这里
参考:
http://blog.csdn.net/hackerwin7/article/details/37923607
http://liyonghui160com.iteye.com/blog/2176066
http://blog.csdn.net/a925907195/article/details/46277557

你可能感兴趣的:(数据库,中间件,mysql,数据库)