快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页软件教程电脑软件教程 → 从MySQL同步数据到TiDB

从MySQL同步数据到TiDB

时间:2022-04-28 16:49:32人气:作者:快盘下载我要评论

一、安装(TiUP)工具 下载并安装

curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh


更新环境变量

source ~/.bash_profile


查看版本

tiup --version


二、安装(TiDB Data Migration) 下载安装包

tiup install dm dmctl


生成配置文件

tiup dm template > dm-topology.yaml


编辑配置文件

vim dm-topology.yaml

---
global:
  user: "tidb"
  ssh_port: 22
  deploy_dir: "/home/tidb/dm/deploy"
  data_dir: "/home/tidb/dm/data"

master_servers:
  - host: 192.168.0.127

worker_servers:
  - host: 192.168.0.127

monitoring_servers:
  - host: 192.168.0.127
    port: 7090

grafana_servers:
  - host: 192.168.0.127
    port: 7000

alertmanager_servers:
  - host: 192.168.0.127
    web_port: 7093
    cluster_port: 7094


这里为单机模式,监控端口需要更改,不然容易与TiDB集群冲突 部署DM

tiup dm deploy dm-test v2.0.7 ./dm-topology.yaml --user root [-p] [-i /home/root/.ssh/gcp_rsa]


通过 TiUP DM 部署的集群名称为 dm-test。 部署版本为 v2.0.7,可以通过执行 tiup list dm-master 来查看 TiUP 支持的最新版本。--user root:指定具有 sudo 权限的用户完成集群部署[]号里的 -p-i 为可选项,若已设置免密登录就不需填写,否则选择其一。-p 进入密码交互窗口,-i指定秘钥位置 查看 TiUP 管理DM情况

tiup dm list


启动DM 集群

tiup dm start dm-test


输出 Started cluster dm-test successfully 表示启动成功。 查看DM 集群信息

tiup dm display dm-test


Status 状态信息为 Up,说明集群状态正常;状态为 Down/inactive,表示未启动/不活跃。 三、同步mysql数据 创建MySQL数据源

vim mysql-source-01.yaml


配置MySQL数据源

source-id: "mysql-source-01"

# DM-worker 是否使用全局事务标识符 (GTID) 拉取 binlog。使用前提是在上游 MySQL 已开启 GTID 模式。
enable-gtid: false

from:
  host: "172.16.10.81"
  user: "root"
  password: "VjX8cEeTX+qcvZ3bPaO4h0C80pe/1aU="
  port: 3306


加载配置到DM集群

tiup dmctl --master-addr 127.0.0.1:8261 operate-source create ./mysql-source-01.yaml


配置同步任务

根据不同场景,编辑任务配置文件vim task.yaml,点击查看详细配置

name: merge_task
shard-mode: "pessimistic"
task-mode: all

target-database:
  host: "127.0.0.1"
  port: 4000
  user: "root"
  password: "" 

mysql-instances:
  - source-id: "mysql-source-01"
    block-allow-list: "block-allow-01"
    route-rules: ["route-rule-01","route-rule-02"] 


block-allow-list: 
  block-allow-01:
    do-dbs: ["wisdom_test"]   
    do-tables:                       
    - db-name: "wisdom_test"             
      tbl-name: "*"

routes:
  route-rule-01:
    schema-pattern: "wisdom_test"
    target-schema: "wisdom_demo"
  route-rule-02:
    schema-pattern: "wisdom_test"
    table-pattern: "wisdom_attendance_*"
    target-schema: "wisdom_demo"
    target-table: "wisdom_attendance"


启动同步任务

tiup dmctl --master-addr 127.0.0.1:8261 start-task ./task.yaml


查询同步任务

tiup dmctl --master-addr 127.0.0.1:8261 query-status


删除同步任务

tiup dmctl --master-addr 127.0.0.1:8261 stop-task merge_task


解决问题步骤

1. 出现错误时,需查询任务query-status具体信息

tiup dmctl --master-addr 127.0.0.1:8261 query-status merge_task


2.  其任务stage状态为Paused

{
    "subTaskStatus": [
        {
            "name": "merge_task",
            "stage": "Paused",
            "result": {}
        }
    ]
}


3. 解决问题后,可以通过resume-task命令进行恢复

tiup dmctl --master-addr 127.0.0.1:8261 resume-task merge_task


DDL语句出错 迁移过程中,上游执行了 TiDB 不支持的 DDL 语句并迁移到了 DM,造成迁移任务中断。 如果业务能接受下游 TiDB 不执行该 DDL 语句,则使用 handle-error 跳过对该 DDL 语句的迁移以恢复迁移任务。 如果业务能接受下游 TiDB 执行其他 DDL 语句来作为替代,则使用 handle-error 替代该 DDL 的迁移以恢复迁移任务。 重置同步任务

清空下游数据库中数据

重启 source 并关闭 gtid 或 relay

重建任务并通过 start-task task.yaml --remove-meta 重新同步,或者重命名任务名

监控同步任务

http://127.0.0.1:7000 进入 Grafana
http://127.0.0.1:7090 进入 Prometheus
http://127.0.0.1:7093 进入 Alertmanager


相关文章

  • 一步步带你设计MySQL索引数据结构

    一步步带你设计MySQL索引数据结构,想想我们生活中的例子,比如新华字典,我们有一个目录,目录根据拼音排序,内容包含了汉字位于字典中具体的的页码。聪明的你肯定也想到了,我们也可以借鉴这种思想,建立一个MySQL的目录,叫做“索引”。...
  • 影刀连接Mysql数据库

    影刀连接Mysql数据库,影刀配置连接mysql数据库基础版...

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。