TIDB之TIUP扩容binlog,下游为mysql

本文详述了使用TiUP模式部署TiDB集群的过程,特别聚焦于如何在部署后添加binlog功能,实现与下游MySQL的数据同步。通过调整服务器参数、配置文件,以及运行特定命令,成功实现了binlog的集成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


如题,在tiup模式部署tidb集群时未考虑binlog,现有需求需要binlog模式同步下游mysql
因官方文档中binlog部署模式为ansible及Binary 方式,未有tiup集群模式,经过官方论坛讨论及实际操作,总结如下
默认部署使用的场景1,如果是3可以忽略该文章

在这里插入图片描述

一、环境准备

1、硬盘参数

按照官方文档说明,准备四台机器,其中/data硬盘有xfs及ext4,ext4按照官方说明修改硬盘参数
重启生效。xfs硬盘我未做任何操作

blkid

找到data分区对应的UUID
在这里插入图片描述
修改/etc/fstab

UUID= /data ext4 defaults,nodelalloc,noatime 0 2

重启服务器生效

2、服务器参数修改

四台服务器使用命令,若能找到如截图所示,则进行编辑注释掉,若无内容则忽视

cat /etc/sudoers | grep requiretty

在这里插入图片描述
若部署有问题,可以在四台服务器上分别操作

visudo

加入如下内容:

tidb ALL=(ALL) NOPASSWD: ALL

3、中控机到四台服务器root免密

中控机切换到tidb用户,设置免密操作
ssh-copy-id root@ip

二、部署tidb集群

中控机tidb用户目录下,创建scale-out.yaml脚本,并编辑输入内容,其中host输入自己服务器的IP地址,syncer输入相关mysql参数

global:
  user: tidb
  ssh_port: 22
  deploy_dir: /data/tidb-deploy
  data_dir: /data/tidb-data
drainer_servers:
- host: 1
  ssh_port: 22
  port: 18249
  config:
    syncer.db-type: "mysql"
    syncer.to.host: "1"
    syncer.to.user: ""
    syncer.to.password: ""
    syncer.to.port: 
pump_servers:
- host: 10
  ssh_port: 22
  port: 18250
- host: 10
  ssh_port: 22
  port: 18250
- host: 10
  ssh_port: 22
  port: 18250

运行脚本

 ./.tiup/bin/tiup cluster scale-out <集群名称> scale-out.yaml --user root -i /home/tidb/.ssh/id_rsa

扩容集群成功有如下提示
在这里插入图片描述
编辑配置文件重新载入集群

./.tiup/bin/tiup cluster edit-config <集群名称>

修改binlog.enable的值为true
在这里插入图片描述

./.tiup/bin/tiup cluster reload <集群名称> -R tidb

查看集群状态:

./.tiup/bin/tiup cluster edit-config <集群名称>

pump和drainer已经部署成功
在这里插入图片描述

操作tidb看看是否同步数据到mysql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值