TiDB实战篇-TiDB Binlog实战

简介

TiDB实战篇-TiDB Binlog实战。

原理

读取流程

MySQL的row格式是影响了多少条就记录多少数据,TiDB 的Binlog默认就是这个。

Pump 

 

Drainer 

限制

 

数据准备

 

因为Binlog同步就是只会同步最新改变的数据,之前的数据不会同步过来。 

操作

扩容

#编写扩容文件
vi scale-out-binlog.yaml

pump_servers:
 - host: 192.168.66.10
drainer_servers:
 - host: 192.168.66.20
   config:
     syncer.db-type: "mysql"
     syncer.to.host: "192.168.66.10"
     syncer.to.user: "root"
     syncer.to.password: "root"
     syncer.to.port: "3306"

#开始扩容	  
tiup cluster scale-out tidb-test scale-out-binlog.yaml -uroot -p 

开启TiDB的Binlog

show variables like 'log_bin';

mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin       | OFF   |
+---------------+-------+
1 row in set (0.00 sec)

#修改配置
tiup cluster edit-config tidb-test

server_configs:
  tikv:
    log-level: warning
  tidb:
    binlog.enable: true
    binlog.ignore-error: true

	
:wq #保存

#重新加载配置文件
tiup cluster reload tidb-test

#连接查看是否开启成功
mysql -uroot -ptidb -h127.0.0.1 -P4000
show variables like 'log_bin';

mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin       | ON    |
+---------------+-------+
1 row in set (0.00 sec)

然后现在只要TiDB数据改变,那么MySQL的数据也会跟着改变了。 

Binlog ctl工具

 

使用

下载

TiDB 社区版 | PingCAP

安装

#解压下载好的安装包
tar -zxvf tidb-community-toolkit-v6.5.0-linux-amd64.tar.gz
#进入到文件夹以后解压出dumpling
cd tidb-community-toolkit-v6.5.0-linux-amd64

vi /etc/profile.d/my.sh
#TOOLKIT_HOME
export TOOLKIT_HOME=/root/tidb-community-toolkit-v6.5.0-linux-amd64
export PATH=$PATH:$TOOLKIT_HOME
source /etc/profile.d/my.sh

基本命令 

#查看状态
binlogctl -pd-urls=http://192.168.66.21:2379 -cmd pumps

[root@master ~]# binlogctl -pd-urls=http://192.168.66.21:2379 -cmd pumps
[2023/04/22 20:26:39.612 +08:00] [INFO] [nodes.go:53] ["query node"] [type=pump] [node="{NodeID: 192.168.66.10:8250, Addr: 192.168.66.10:8250, State: online, MaxCommitTS: 440969828034150409, UpdateTime: 2023-04-22 20:26:38 +0800 CST}"]
[2023/04/22 20:26:39.612 +08:00] [INFO] [nodes.go:53] ["query node"] [type=pump] [node="{NodeID: 192.168.66.21:8250, Addr: 192.168.66.21:8250, State: online, MaxCommitTS: 440969827798220803, UpdateTime: 2023-04-22 20:26:38 +0800 CST}"]

#暂停对应的状态(同步停止)
binlogctl -pd-urls=http://192.168.66.21:2379 -cmd pause-drainer -node-id 192.168.66.21:8249

查看pump状态

mysql> show pump status;
+--------------------+--------------------+--------+--------------------+---------------------+
| NodeID             | Address            | State  | Max_Commit_Ts      | Update_Time         |
+--------------------+--------------------+--------+--------------------+---------------------+
| 192.168.66.10:8250 | 192.168.66.10:8250 | online | 440969659646214154 | 2023-04-22 20:15:55 |
| 192.168.66.21:8250 | 192.168.66.21:8250 | online | 440969659397177350 | 2023-04-22 20:15:55 |
+--------------------+--------------------+--------+--------------------+---------------------+
2 rows in set (0.00 sec)

查看drainer状态

mysql> show drainer status;

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

工作变成艺术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值