<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    java學習

    java學習

     

    canal簡單安裝使用

    1、數據庫配置

    首先使用canal需要修改數據庫配置

    [mysqld] 
    log-bin=mysql-bin # 開啟
    binlog binlog-format=ROW # 選擇 ROW 模式
    server_id=1 # 配置 MySQL replaction 需要定義,不要和 canal 的 slaveId 重復

    創建canal數據庫用戶

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

     

    2、安裝canal

    下載:https://github.com/alibaba/canal/releases

    解壓(修改版本號):tar zxvf canal.deployer-1.1.4.tar.gz -C ./canal

    配置開放服務器端口:11110、11111、11112

    修改canal配置文件(這里設置了兩個instance,即兩個數據庫):

    vi canal/conf/canal.properties 
    canal.destinations
    = example1,example2

     配置instance:

    cp -R canal/conf/example conf/example1
    mv conf/example conf/example2

    第一個數據庫配置

    vi canal/conf/example1/instance.properties
    canal.instance.master.address
    =32.1.2.140:3306

    第二個數據庫配置

    vi canal/conf/example2/instance.properties
    canal.instance.master.address
    =32.1.2.140:3307

    #如果需要新增一個instance,只需要修改canal.properties文件,并新增一個instance配置即可,無需重啟canal。

    運行:

    sh canal/bin/startup.sh # 查看日志
    cat canal/logs/canal/canal

     

    3、Java使用樣例

    引入pom依賴,需要與安裝的canal版本一致

    復制代碼
    <dependencies>     <dependency>         <groupId>com.alibaba.otter</groupId>         <artifactId>canal.client</artifactId>         <version>1.1.4</version>     </dependency> </dependencies>
    復制代碼

    示例代碼(異步打印兩個數據庫的修改內容):

    復制代碼
    package cn.spicybar.dblog;  import com.alibaba.otter.canal.client.CanalConnector; import com.alibaba.otter.canal.client.CanalConnectors; import com.alibaba.otter.canal.protocol.CanalEntry.Entry; import com.alibaba.otter.canal.protocol.CanalEntry.EntryType; import com.alibaba.otter.canal.protocol.CanalEntry.RowChange; import com.alibaba.otter.canal.protocol.Message;  import java.net.InetSocketAddress; import java.util.List;  public class CanalClient {      public static void main(String[] args) {         new Thread(() -> initConnector("example1")).start();         new Thread(() -> initConnector("example2")).start();     }      private static void initConnector(String destination) {         CanalConnector connector = CanalConnectors.newSingleConnector(new InetSocketAddress("32.1.0.237", 11111), destination, "", "");         try {             connector.connect();             connector.subscribe(".*\\..*");             connector.rollback();             while (true) {                 Message message = connector.getWithoutAck(1000);                 if (message.getId() != -1 && message.getEntries().size() > 0) {                     printEntry(message.getEntries());                 }                 connector.ack(message.getId());             }         } finally {             connector.disconnect();         }     }      private static void printEntry(List<Entry> entries) {         for (Entry entry : entries) {             if (entry.getEntryType() == EntryType.TRANSACTIONBEGIN || entry.getEntryType() == EntryType.TRANSACTIONEND) {                 continue;             }             try {                 RowChange rowChange = RowChange.parseFrom(entry.getStoreValue());                 System.out.println(rowChange.getSql());             } catch (Exception e) {                 throw new RuntimeException("ERROR ## parser error, data:" + entry.toString(), e);             }         }     }

    posted on 2020-08-31 10:55 楊軍威 閱讀(673) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    導航

    統計

    常用鏈接

    留言簿

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 18禁美女裸体免费网站| 91免费国产视频| 野花高清在线观看免费完整版中文 | 国产成人无码免费视频97| 亚洲字幕在线观看| 91香蕉国产线观看免费全集| 亚洲av无码国产精品色午夜字幕| 老司机午夜性生免费福利| 日韩免费视频网站| 偷自拍亚洲视频在线观看99| 国产一区二区三区免费视频| 国产精品亚洲天堂| 亚洲午夜福利精品无码| 国产免费牲交视频免费播放 | 免费无码精品黄AV电影| 亚洲国产乱码最新视频| 永久在线毛片免费观看| 美女视频黄a视频全免费网站一区 美女视频黄a视频全免费网站色 | 亚洲欧洲日产专区| 麻豆国产精品免费视频| 国产精品高清视亚洲一区二区 | 日韩一级视频免费观看| 亚洲成aⅴ人片久青草影院按摩| 国产又大又粗又硬又长免费| 色老头综合免费视频| 亚洲大成色www永久网站| 50岁老女人的毛片免费观看| 国产成人精品亚洲日本在线 | 妞干网在线免费视频| 美女露隐私全部免费直播| 亚洲精品国产精品乱码不99| 18成禁人视频免费网站| 亚洲中文字幕无码av永久| 免费人成网站在线播放| 日本视频免费高清一本18| 亚洲精品午夜国产va久久| 亚洲午夜AV无码专区在线播放| 91免费国产精品| 美女被爆羞羞网站在免费观看| 亚洲va久久久噜噜噜久久天堂| 最近最新中文字幕完整版免费高清|