2.TiUP 部署 DM 集群

TiUP 是 TiDB 4.0 版本引入的集群运维工具,TiUP DM 是 TiUP 提供的使用 Golang 编写的集群管理组件,通过 TiUP DM 组件就可以进行日常的运维工作,包括部署、启动、关闭、销毁、扩缩容、升级 DM 集群以及管理 DM 集群参数。

安装 TiUP DM 组件:

tiup install dm dmctl

生成模版文件,然后根据模版文件把主机替换成自己的机器即可:
tiup dm template > dm.yaml

image

通过tiup list dm-master获取最新的版本

通过tiup进行部署操作:
tiup dm deploy dm-test ${version} ./topology.yaml --user root [-p] [-i /home/root/.ssh/gcp_rsa] 其中版本可以通过命令查询,与当前tidb匹配的版本即可。
tiup dm deploy dm-test v8.3.0 ./dm.yaml --user root -p
image
启动DM集群
image
查看DM集群运行状态
tiup dm display dm-test
image

现在DM部署完毕,后续做数据迁移需要用到这个集群
DM-worker介绍
其主要功能如下:

注册为一台 MySQL 或 MariaDB 服务器的 slave。
备注:简单理解为类似mysql的Binglog,利用日志重现把数据写到新库中。
读取 MySQL 或 MariaDB 的 binlog event,并将这些 event 持久化保存在本地 (relay log)。
单个 DM-worker 支持迁移一个 MySQL 或 MariaDB 实例的数据到下游的多个 TiDB 实例。
多个 DM-Worker 支持迁移多个 MySQL 或 MariaDB 实例的数据到下游的一个 TiDB 实例。

配置上下游用户的权限
上游用户权限
当前把db(比如mysql)数据同步到Tidb数据库中,所需要的最小权限:

权限 作用域
SELECT Tables
RELOAD Global
REPLICATION SLAVE Global
REPLICATION CLIENT Global

创建最小权限用户:
create user 'mysql_test1'@'%' identified by '123456';
GRANT RELOAD,REPLICATION SLAVE, REPLICATION CLIENT ON . TO 'mysql_test1'@'%';
GRANT SELECT ON . TO 'mysql_test1'@'%';

下游用户权限(tidb)

下游数据库 (TiDB) 用户必须拥有以下权限:

权限 作用域
SELECT Tables
INSERT Tables
UPDATE Tables
DELETE Tables
CREATE Databases,tables
DROP Databases,tables
ALTER Tables
INDEX Tables

tidb创建最小权限的同步账户名:
create user 'tidb_test1'@'%' identified by '123456';
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,INDEX ON . TO 'tidb_test1'@'%';
GRANT ALL ON dm_meta.* TO 'tidb_test1'@'%';

为了方便,所以权限是所有库,实际情况是要按照对应的库和表给权限就行。

posted @   ^_^小情绪~  阅读(28)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示