精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

在SpringBoot中通過Canal實現MySQL與Redis的數據同步

數據庫 MySQL
mysql-bin.000003 是首次配置的,如果master節點重啟了,這個文件會遞增變為mysql-bin.000004,這時我們的從節點會自動連上這mysql-bin.000004。

環境:Springboot2.7.12 + MySQL8

1 環境準備

master: 192.168.2.129

slave: 192.168.2.130

使用Docker安裝MySQL,這里Docker安裝省略,網上一堆教程。

Docker安裝完成后,安裝MySQL。

安裝MySQL

步驟1:

[root@node150 kafka]# mkdir -p /root/software/mysql/conf /root/software/mysql/data
 [root@node150 kafka]# chmod -R 777 /root/software/mysql/

步驟2:

進入/root/software/mysql/conf 創建my.cnf 內容如下:

[client]
 #socket = /usr/mysql/mysqld.sock
 default-character-set = utf8mb4
 [mysqld]
 #pid-file        = /var/run/mysqld/mysqld.pid
 #socket          = /var/run/mysqld/mysqld.sock
 #datadir         = /var/lib/mysql
 #socket = /usr/mysql/mysqld.sock
 #pid-file = /usr/mysql/mysqld.pid 
 datadir = /var/lib/mysql
 character_set_server = utf8mb4
 collation_server = utf8mb4_bin
 secure-file-priv= NULL
 # Disabling symbolic-links is recommended to prevent assorted security risks
 symbolic-links=0
 # Custom config should go here
 !includedir /etc/mysql/conf.d/

步驟3:

docker run --name mysql8 --restart=always --privileged=true -v /root/software/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /root/software/mysql/data:/var/lib/mysql -v /etc/localtime:/etc/localtime:ro -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123123 -d mysql --lower_case_table_names=1

完成分別在129,130上完成上面操作。

2 主從配置

129.168.2.129作為master節點,修改my.cnf配置,追加下面配置:

binlog_format=MIXED
log-bin=mysql-bin
server-id=1

129.168.2.130作為slave節點,修改my.cnf配置,追加下面配置:

log-bin=mysql-bin
server-id=2

修改完配置后分別重啟mysql

3 配置從節點

3.1 查看master狀態

mysql> show master status;
 +------------------+----------+--------------+------------------+-------------------+
 | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
 +------------------+----------+--------------+------------------+-------------------+
 | mysql-bin.000001 |      156 |              |                  |                   |
 +------------------+----------+--------------+------------------+-------------------+
 1 row in set (0.00 sec)

這里的File,Position列再配置從節點時需要用到。

3.2 配置從節點

CHANGE MASTER TO 
MASTER_HOST='192.168.2.129',
MASTER_PORT=3306,
MASTER_USER='root',
MASTER_PASSWORD='123123',
master_log_file='mysql-bin.000003',
master_log_pos=156,
master_connect_retry=60,
GET_MASTER_PUBLIC_KEY=1;

執行上面的命令如果報錯如下:

This operation cannot be performed with a running slave io thread; run STOP SLAVE IO_THREAD FOR CHANNEL '' first.

這時需要執行stop slave

注意:上面的mysql-bin.000003 是首次配置的,如果master節點重啟了,這個文件會遞增變為mysql-bin.000004,這時我們的從節點會自動連上這mysql-bin.000004

查看從節點狀態:

mysql> show slave status\G
 *************************** 1. row ***************************
                Slave_IO_State: Waiting for source to send event
                   Master_Host: 192.168.2.129
                   Master_User: root
                   Master_Port: 3306
                 Connect_Retry: 60
               Master_Log_File: mysql-bin.000005
           Read_Master_Log_Pos: 156
                Relay_Log_File: 85acaa370429-relay-bin.000014
                 Relay_Log_Pos: 371
              # 該文件會自動與master節點同步
         Relay_Master_Log_File: mysql-bin.000005
              # 主要看這里的兩個Running是否為Yes
              Slave_IO_Running: Yes
             Slave_SQL_Running: Yes
               Replicate_Do_DB: 
           Replicate_Ignore_DB: 
            Replicate_Do_Table: 
        Replicate_Ignore_Table: 
       Replicate_Wild_Do_Table: 
   Replicate_Wild_Ignore_Table: 
                    Last_Errno: 0
                    Last_Error: 
                  Skip_Counter: 0
           Exec_Master_Log_Pos: 156
               Relay_Log_Space: 755
               Until_Condition: None
                Until_Log_File: 
                 Until_Log_Pos: 0
            Master_SSL_Allowed: No
            Master_SSL_CA_File: 
            Master_SSL_CA_Path: 
               Master_SSL_Cert: 
             Master_SSL_Cipher: 
                Master_SSL_Key: 
         Seconds_Behind_Master: 0
 Master_SSL_Verify_Server_Cert: No
                 Last_IO_Errno: 0
                 Last_IO_Error: 
                Last_SQL_Errno: 0
                Last_SQL_Error: 
   Replicate_Ignore_Server_Ids: 
              Master_Server_Id: 1
                   Master_UUID: 71bb9106-a9a9-11ed-9031-0242ac110002
              Master_Info_File: mysql.slave_master_info
                     SQL_Delay: 0
           SQL_Remaining_Delay: NULL
       Slave_SQL_Running_State: Replica has read all relay log; waiting for more updates
            Master_Retry_Count: 86400
                   Master_Bind: 
       Last_IO_Error_Timestamp: 
      Last_SQL_Error_Timestamp: 
                Master_SSL_Crl: 
            Master_SSL_Crlpath: 
            Retrieved_Gtid_Set: 
             Executed_Gtid_Set: 
                 Auto_Position: 0
          Replicate_Rewrite_DB: 
                  Channel_Name: 
            Master_TLS_Version: 
        Master_public_key_path: 
         Get_master_public_key: 1
             Network_Namespace: 
 1 row in set, 1 warning (0.00 sec)

3.3 測試

在主節點上執行創建數據庫,建表等操作都會自動同步到slave節點上。

4 創建Canal

docker run --name canal -p 11111:11111 -v /opt/canal/conf:/home/admin/canal-server/conf -v /opt/canal/logs:/home/admin/canal-server/logs -d canal/canal-server

5 Springboot整合Canal

添加依賴

<dependencies>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
  <dependency>
    <groupId>top.javatool</groupId>
    <artifactId>canal-spring-boot-starter</artifactId>
    <version>1.2.1-RELEASE</version>
  </dependency>
</dependencies>

配置文件

spring:
  redis:
    host: localhost
    port: 6379
    password: 123123
    database: 8
    lettuce:
      pool:
        maxActive: 8
        maxIdle: 100
        minIdle: 10
        maxWait: -1
---
canal:
  server: 192.168.2.130:11111
  destination: redis #可設置*個,逗號隔開,對應需要創建*文件夾,且文件夾下有instance.properties文件

數據模型

public class Users {


  private Integer id ;
  private String name ;
  private Integer age ;
  @Override
  public String toString() {
    return "Users [id=" + id + ", name=" + name + ", age=" + age + "]";
  }
  
}

具體服務組件

@Component
@CanalTable(value = "users")
public class UserServiceImpl implements EntryHandler<Users> {
  
  private static final Logger logger = LoggerFactory.getLogger(UserServiceImpl.class);
  
  private final StringRedisTemplate stringRedisTemplate ;
  
  public UserServiceImpl(StringRedisTemplate stringRedisTemplate) {
    this.stringRedisTemplate = stringRedisTemplate ;
  }


  @Override
  public void insert(Users user) {
    logger.info("新增數據為{}", user);
    try {
      this.stringRedisTemplate.opsForValue().set("users:" + user.getId(), new ObjectMapper().writeValueAsString(user)) ;
    } catch (JsonProcessingException e) {
      e.printStackTrace();
    }
  }


  @Override
  public void update(Users before, Users after) {
    logger.info("原來數據為{}", before);
    logger.info("更新數據為{}", after);
    try {
      this.stringRedisTemplate.opsForValue().set("users:" + after.getId(), new ObjectMapper().writeValueAsString(after)) ;
    } catch (JsonProcessingException e) {
      e.printStackTrace();
    }
  }


  @Override
  public void delete(Users user) {
    logger.info("刪除的數據為{}", user);
    this.stringRedisTemplate.delete("users:" + user.getId()) ;
  }


}

以上通過增,刪,改數據就能同步到Redis中了。

責任編輯:武曉燕 來源: Spring全家桶實戰案例源碼
相關推薦

2023-05-31 08:56:24

2020-09-21 11:30:28

CanalMySQL數據庫

2025-04-29 08:36:28

SpringCanal數據庫

2023-08-31 08:32:52

2011-06-24 17:23:18

主服務器從服務器同步

2024-09-02 09:14:36

SpringRabbitMQ數據

2010-06-02 16:57:50

MySQL數據庫同步

2010-06-09 14:04:34

MySQL數據庫

2022-12-27 08:56:28

2023-02-17 07:54:39

2021-12-27 09:59:57

SpringCanal 中間件

2023-11-03 13:41:16

數據技術

2025-04-25 08:34:52

2023-10-06 22:35:19

2025-04-01 08:38:41

2024-10-29 11:19:23

點贊系統同步

2024-06-11 00:00:06

Spring考試系統

2019-06-14 13:50:03

應用程序Windows 10 數據同步

2025-05-22 08:15:00

2025-03-20 09:54:47

點贊
收藏

51CTO技術棧公眾號

亚洲三级电影网站| 日本欧美韩国一区三区| 精品久久久久久无| 日韩av综合在线观看| 国产视频精品久久| 精品一区二区三区久久久| 欧美放荡办公室videos4k| 女尊高h男高潮呻吟| 在线免费成人| 欧美日韩激情小视频| 一本色道婷婷久久欧美| 色婷婷综合视频| 久久99热国产| 国产69精品久久久久久| 神马午夜精品91| 国产精品videossex| 欧美视频在线观看一区| 国产freexxxx性播放麻豆| 国际av在线| 丰满岳乱妇一区二区三区| 国产精品久久久久久久一区探花| 国产一级视频在线播放| 日韩欧美高清| 日韩精品中文字幕久久臀| 爱情岛论坛亚洲自拍| 亚洲天堂一区二区| 午夜精品久久久久久久久| 热这里只有精品| av色图一区| 99久久99久久精品免费看蜜桃| 国产精品专区h在线观看| 日韩 欧美 综合| 欧美.www| 久久亚洲国产成人| 亚洲 欧美 国产 另类| 一道在线中文一区二区三区| 亚洲成人激情视频| 成年人看片网站| 国产精品一区二区精品| 欧美在线综合视频| 日韩欧美xxxx| 亚洲1234区| 色婷婷综合久久久| 日本www在线播放| 国产精品电影| 亚洲影院在线观看| 超级碰在线观看| 国产激情视频在线观看| 综合激情成人伊人| 国产精品h视频| 欧美成人精品一区二区男人看| 欧美国产日韩一二三区| 日本不卡二区| 91精彩在线视频| 国产精品久久久久毛片软件| 涩涩涩999| jizzjizz在线观看| 国产精品日韩成人| 亚洲国产一区二区精品视频 | 亚洲黄色成人网| 国产免费无码一区二区| 亚洲日本va| 亚洲精品v天堂中文字幕| 中国xxxx性xxxx产国| 国产精品久久久久av蜜臀| 亚洲成色777777女色窝| 欧美一区二区免费在线观看| 香蕉久久夜色精品国产使用方法 | 香蕉视频免费网站| av日韩在线播放| 亚洲精品美女免费| 成人激情五月天| 久久久久国产精品| 欧美高清激情视频| 天天操天天摸天天干| 国产精品视区| 国产精品一区二区久久久久| 99精品国产99久久久久久97| 高清日韩电视剧大全免费| 国产一区免费| 理论在线观看| 亚洲婷婷综合色高清在线| 久久福利一区二区| 亚洲女同av| 在线成人午夜影院| 久久久久久婷婷| 成久久久网站| 久久99久久久久久久噜噜| 国产福利拍拍拍| 男男视频亚洲欧美| 成人激情直播| 美州a亚洲一视本频v色道| 国产精品久久99| 精品人妻少妇一区二区| 欧美日韩精品免费观看视欧美高清免费大片| 欧美性高清videossexo| 色诱av手机版| 精品亚洲成人| 久久久久久久久网站| 国产99久久久久久免费看| 国产一区二区三区久久悠悠色av | 蜜桃视频久久一区免费观看入口| 91女人视频在线观看| 亚洲一区二区三区精品视频| 成人免费高清观看| 欧美日韩精品二区第二页| 美女伦理水蜜桃4| 99精品视频在线观看免费播放| 一区二区三区四区欧美| 中文文字幕文字幕高清| 精品国产网站| 欧美激情女人20p| 国产美女www爽爽爽| 国产91露脸合集magnet| 日本在线高清视频一区| 免费看电影在线| 欧美巨大另类极品videosbest | 中文字幕一区二区三区四区欧美| 狠狠色狠狠色合久久伊人| 久久精品ww人人做人人爽| www免费在线观看| 欧美在线free| 日韩av在线看免费观看| 亚洲视频久久| 91国产在线免费观看| 国产福利电影在线| 狠狠色香婷婷久久亚洲精品| 无码国产精品久久一区免费| 色88久久久久高潮综合影院| 亲爱的老师9免费观看全集电视剧| 国产免费一区二区三区免费视频| 国产婷婷一区二区| 国产精品沙发午睡系列| 在线精品国产亚洲| 九色91av视频| 国产精品乱码一区二区| 中文字幕不卡在线| 日本爱爱免费视频| 久久av中文| 热久久免费国产视频| 日本黄色大片视频| 亚洲一二三四在线| 杨幂一区二区国产精品| 一区二区三区在线电影| 91网站免费看| 黄色网页在线播放| 正在播放一区二区| www.av视频| 国产老妇另类xxxxx| 中文字幕色呦呦| 一区二区三区免费在线看| 色综合久久精品亚洲国产| 亚洲乱色熟女一区二区三区| 亚洲精品日韩综合观看成人91| 91插插插影院| 在线电影一区二区| 97se亚洲综合在线| 国精一区二区三区| 亚洲国产日韩欧美综合久久 | 99精品老司机免费视频| 欧美这里有精品| 日韩在线观看免| 国产乱码字幕精品高清av | 亚洲 小说 欧美 激情 另类| 天使萌一区二区三区免费观看| 日韩精品一区二区三区外面| 国产成人午夜性a一级毛片| 最近中文字幕mv在线一区二区三区四区 | 国产精品亚洲一区二区三区| 四虎久久免费| 日韩欧美中文字幕一区| 国产无遮挡又黄又爽又色| 99久久久久久| 伊人网在线综合| 欧美精品一区二区三区久久久竹菊| 国产精品成人一区二区三区| 在线免费看h| 中文字幕最新精品| 精品国产av一区二区| 婷婷夜色潮精品综合在线| 亚洲人成人无码网www国产| 麻豆精品一区二区三区| 97免费视频观看| 精品国产一区一区二区三亚瑟| 国产综合久久久久久| 欧美巨大xxxx做受沙滩| 亚洲人成网站在线播| 99久久久久成人国产免费| 精品久久久久久久久久| 日本 欧美 国产| 99国内精品久久| 亚洲免费黄色网| 99成人在线| 在线精品日韩| 久久91在线| 成人激情av在线| 日韩影院在线| 欧美激情xxxx| 日本成人网址| 亚洲精品一区二区三区不| 国产免费无遮挡| 在线国产亚洲欧美| 日产精品久久久久| 亚洲女同一区二区| 午夜精产品一区二区在线观看的| 国产91露脸合集magnet| 日本中文字幕精品—区二区| 男人天堂欧美日韩| 欧美日韩午夜爽爽| 欧美电影《睫毛膏》| 免费在线一区二区| www.丝袜精品| 91九色国产在线| 日本欧美韩国| 欧美中文字幕在线观看| 超碰在线97国产| 久久国产精品久久久久久久久久 | 国产午夜精品一区二区三区视频| 9191在线视频| 精品一区二区综合| 四季av一区二区| 校园激情久久| 9色porny| 欧美精品综合| 看全色黄大色大片| 91免费精品| 五月婷婷综合色| 国产伦精品一区二区三区千人斩| 国产亚洲一区二区三区在线播放| 精品国产一区二区三区性色av| 国产精品青草久久久久福利99| 最新欧美色图| 3344国产精品免费看| 丁香花在线电影| 色综合久久悠悠| 在线观看操人| 欧美激情第6页| jizzjizz亚洲| 欧美精品在线免费播放| 91精品久久久久久粉嫩| 久久综合久久美利坚合众国| 秋霞午夜理伦电影在线观看| 日韩在线观看成人| 黄色成人在线观看| 蜜臀久久99精品久久久无需会员| 欧美激情免费| 久久综合久久美利坚合众国| 成人日日夜夜| 欧美成人午夜免费视在线看片| 黄色免费在线观看| 米奇精品一区二区三区在线观看| 黄色av电影在线播放| 久久综合久中文字幕青草| www视频在线看| 欧美极品少妇全裸体| а√天堂8资源在线| 91国产高清在线| 免费看av不卡| 国产欧美日韩91| 亚洲三级av| 国产一区二区三区四区五区在线| 玖玖玖免费嫩草在线影院一区| 久久久久久久久四区三区| 久久不见久久见国语| 亚洲一区高清| 欧美激情在线| 久艹视频在线免费观看| 久久福利精品| 国产成人美女视频| 国产宾馆实践打屁股91| 国产人成视频在线观看| 国产亚洲一区二区三区在线观看| 国产探花视频在线| 亚洲综合一区二区精品导航| 日韩欧美三级视频| 欧美日本在线播放| 亚洲av无码乱码国产精品| 日韩国产精品视频| 日本美女在线中文版| 欧美丰满少妇xxxxx| 成人av免费电影网站| 成人高清视频观看www| 国产精品流白浆在线观看| 日韩av大全| 亚洲网址在线| 日本中文字幕精品—区二区| 成人av免费在线| 国精产品一区一区| 午夜电影网亚洲视频| 最好看的日本字幕mv视频大全| 欧美一激情一区二区三区| 亚洲区小说区图片区| 北条麻妃一区二区三区中文字幕| 18aaaa精品欧美大片h| 国产精品久久久久aaaa九色| 成人高潮视频| 亚洲综合第一| 亚洲欧美视频一区二区三区| 国产精品久久久久久久av福利| 99久久精品免费精品国产| 秋霞欧美一区二区三区视频免费| 黄色一区二区三区| av高清一区二区| 国产亚洲精品久久久| 91www在线| 成人网在线免费观看| 国产成人调教视频在线观看| 亚洲精品天堂成人片av在线播放| 日韩成人一级片| 538国产视频| 亚洲黄色小说网站| 在线播放亚洲精品| 日韩电影在线观看永久视频免费网站| 久做在线视频免费观看| 国产精彩精品视频| 国产精品jk白丝蜜臀av小说 | 国产日本精品| 无码人妻aⅴ一区二区三区玉蒲团| 中文字幕巨乱亚洲| 亚洲乱码国产乱码精品| 亚洲国产精品va| 日本色护士高潮视频在线观看 | 极品束缚调教一区二区网站 | 长河落日免费高清观看| 欧美性色19p| 天天爱天天干天天操| 欧美激情视频免费观看| 亚洲黑人在线| 一区二区91美女张开腿让人桶| 视频一区欧美精品| 亚洲午夜久久久久久久久红桃 | 国产女主播在线一区二区| 久久夜靖品2区| 亚洲国产精品免费| 国产区美女在线| 国产精品theporn88| 黑人一区二区三区四区五区| 女同性αv亚洲女同志| 亚洲免费观看高清完整版在线观看 | 国产一区二区三区无遮挡| 亚洲久久在线| 亚洲制服丝袜在线播放| 激情懂色av一区av二区av| 国产 日韩 欧美 综合| 久久久久久久久久久91| jizzjizzjizz欧美| 男人插女人视频在线观看| 不卡一二三区首页| 精品成人免费视频| 亚洲免费视频一区二区| 欧美xxxx做受欧美护士| 五月天丁香综合久久国产| 久久精品国产久精国产爱| 最新日韩免费视频| 欧美一区二区观看视频| 蜜乳av一区| 精品亚洲欧美日韩| 久久av一区| 婷婷国产成人精品视频| 欧美一级二级三级乱码| 51漫画成人app入口| 看欧美日韩国产| 美女视频黄久久| 日韩成人毛片视频| 亚洲第一免费播放区| 波多野结衣亚洲一二三| 亚洲一区二区精品在线| 国产乱码字幕精品高清av| 色播视频在线播放| 亚洲天堂色网站| 成人av在线播放| 波多野结衣之无限发射| 国产午夜亚洲精品理论片色戒| 国产又粗又猛又爽又黄视频| 欧美日韩不卡合集视频| 日韩成人午夜| 久久撸在线视频| 一区二区成人在线| 男人的天堂av高清在线| 91久久久久久久| 99国产精品| 天堂av免费在线| 亚洲电影天堂av| 78精品国产综合久久香蕉| 国产人妻人伦精品| 久久久久久久一区| 国产精品无码白浆高潮| 午夜精品福利视频| 成人免费a**址| 国产在线不卡av| 在线电影一区二区三区| 松下纱荣子在线观看| 日韩国产精品毛片| 国产日韩精品一区| 亚洲精品中文字幕成人片 | 免费观看美女裸体网站| 欧美激情一区二区三区蜜桃视频| 亚洲av无码国产综合专区 | 一本久道中文无码字幕av| 亚洲精品欧美专区|