路漫漫其修远兮、吾将上下而求索
在对 TiDB 数据库进行迁移的时候,有时候也需要迁移源数据库内的用户与权限。对于这个迁移我们可以从 mysql.user 表来获取用户的相关权限来生成相应的SQL语句,然后在目标服务器上来执行生成的SQL语句即可。 TiDB 支持 show grants 查看用户权限 1、生成用户权限的脚本 # more exp_grant.sh #!/bin/bash ip="192.168.10.11" port=4000 u...
2019-07-08 17:34 4767 0
sysbench版本信息: $ sysbench --version sysbench 1.0.9 CPU相关信息 # 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 # 查看物理CPU个数 cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l # 查看每个物理CPU中core的个数(即核数) cat /proc/cpuinfo| grep "...
2019-03-08 10:38 5210 0
因为TiDB是无状态,所以在多个TiDB节点前会利用负载均衡软件做TiDB节点的高可用,这里是基于HAProxy软件做负载均衡,HAProxy 官网:http://www.haproxy.org 功能 负载均衡:L4(TCP) 和 L7(HTTP/HTTPS) 两种模式,支持 RR(roundrobin) / 静态 RR / LC / IP Hash/ URI Hash/ URL_PARAM Hash/ HTTP_HEADER Hash 等丰富的负载均衡算法 健康检查:支...
2019-03-06 16:27 5041 0
应用场景 pd 集群超半数不可用或者全部不可用,需要使用 pd-recover 重建 pd 集群。 pd-recover 恢复步骤 1、stop 三节点 pd 集群中的两个 pd 节点(或者全部节点),剩下的节点也无法提供服务 $ ansible-playbook stop.yml -l PD03 $ ansible-playbook stop.yml -l PD02 pd.log 存活pd.log 一直重复选举无法选出leader 2019/03/05 15:33:26....
2019-03-05 19:33 7868 0
sync-diff-inspector 简介 sync-diff-inspector 是一个用于校验 MySQL/TiDB 中两份数据是否一致的工具,该工具提供了修复数据的功能(适用于修复少量不一致的数据)。 主要功能: 对比表结构和数据 如果数据不一致,则生成用于修复数据的 SQL 支持多个表的数据与单个表数据的比较(针对分库分表同步数据到总表的场景) 支持不同库名/表名的数...
2019-03-05 17:52 5646 2
1. 部署pb 测试过程只需要在原有drainer.toml配置文件下游为 Mysql 修改为 pb,重新启动, pump 配置文件不变,它只是负责捕获 TiDB binlog日志并将它排序.默认即可,这也是为什么 ansible可以手动部署pump,而drainer 需要二进制部署原因 ansible 部署 TiDB Binlog参考链接:https://github.com/pingcap/docs-cn/blob/e5fede0709c543e289bc29726...
2019-03-04 17:57 5283 0
当前机器上存在混合部署多套TiDB,所有会出现多个不同端口得进程 1.tidb-server 根据进程过滤,可以看到 tidb-server 启动时使用的参数以及配置文件tidb.toml [tidb@ip-172-16-30-86 tidb-ansible]$ ps -ef|grep tidb-server tidb 15642 10753 0 13:58 pts/2 00:00:00 grep --color=auto tidb-server tidb_te+ 40226 40225 1 Feb2...
2019-03-04 14:46 10207 0
[warning] etcdserver: [cannot get the version of member 581353672014e5e6 (Get http://172.16.30.87:2480/version: dial tcp 172.16.30.87:2480: connect: connection refused) pd.log日志:显示pd02节点无法连接 pd.log日志:显示pd02节点无法连接 2019/03/01 18:40:42.543 log.go:84: [warning] etcdserver: [cannot get the version of m...
2019-03-01 20:37 5976 0
TiDB异步在线DDL变更流程原理简概 具体文章详述: TiDB 的异步 schema 变更实现:http://zimulala.github.io/2016/02/02/schema-change-implement/ TiDB 的异步 schema 变更优化: http://zimulala.github.io/2017/12/24/optimize/ 背景 现在一般数据库在进行 DDL 操作时都会锁表,导致线上对此表的 DML 操作全部进入等待状态(有些数据支持读操...
2019-03-01 15:32 6457 0
Tidb percolator事务模型 percolator事务模型是一个乐观锁事务模式,可执行并发修改,事务提交commit时检测写写冲突,提交采用二阶段提交: TiDB 对于每个事务,会从涉及到改动的所有 Key 中选中一个作为当前事务的 Primary Key。 在最终提交时,以 Primary 提交是否成功作为整个事务是否执行成功的标识,从而保证了分布式事务的原子性。 有了Pri...
2019-03-01 11:40 5344 0
TiSpark 混合部署 其他部署方案参考: https://pingcap.com/docs-cn/tispark/tispark-user-guide/ 因为tidb-ansible 部署安装TiDB集群 inventoy.ini并未指定spark配置,所以TiDB集群环境并未安装Spark集群,当前采用 [spark_master] [spark_slaves] 1、已有 Spark 集群的部署方式 如果在已有 Spark 集群上运行 TiSpark,无需重启集群。可以...
2019-02-27 17:30 6036 0
描述一个分库分表合并的业务场景,将上游一个个MySQL 实例的三个库中的同张表同步到下游一个 TiDB 集群中。 注意:当前文章只记录了TiDB DM 将mycat分库分表进行合库合表到TiDB下游的问题记录,仅供参考。其他搭建操作以及配置文件解释见官方文档:https://github.com/pingcap/tidb-tools/tree/docs/docs/dm/zh_CN mycat 插入测试数据: 分片表主...
2019-02-26 17:51 5264 0
dm-worker报错: [tidb@ip-172-16-30-89 log]$ tail -f dm-worker-stderr.log 2019/02/25 17:22:42.275 main.go:38: [error] parse cmd flags err can not decrypt password 123456: illegal base64 data at input byte 4 2019/02/25 17:22:57.525 main.go:38: [error] parse cmd flags err can not decrypt password 12345
2019-02-26 10:51 4837 0
部署DM Ansible集群过程:https://github.com/pingcap/tidb-tools/blob/docs/docs/dm/zh_CN/maintenance/dm-ansible.md DM架构以及原理:https://pingcap.com/blog-cn/tidb-ecosystem-tools-3/ DM用户文档:https://github.com/pingcap/tidb-tools/tree/docs/docs/dm/zh_CN ps: 可用于mysql-mysql同步 DM 主要分为三个组件部分: 1. DM-master:管...
2019-02-26 10:41 6062 0
TiDB-Lightning 使用及错误解决 TiDB-Lightning 是一个将全量数据高速导入到 TiDB 集群的工具,有以下两个主要的使用场景:一是大量新数据的快速导入;二是全量数据的备份恢复。目前,支持 mydumper 输出格式的数据源, 参考官方文档链接:https://pingcap.com/docs-cn/tools/lightning/deployment/ 手动部署TiDB-Lightning 第 1步:下载 TiDB-Li...
2019-02-22 10:44 7878 0
mycat 启动报错解决 l.txt, mutiNodeLimitType=1, mutiNodePatchSize=100, defaultSqlParser=druidparser, usingAIO=0, packetHeaderSize=4, maxPacketSize=16777216, mycatNodeId=1] 2019-02-21 13:42:09.954 INFO [WrapperSimpleAppMain] (io.mycat.memory.MyCatMemory.<init>(MyCatMemory.java:53)) - useOffHeapForMe
2019-02-21 14:26 5789 0
Windows 10 安装 docker 使用 Docker_Compose 部署 TiDB 集群报错 集群组件 pd02: b’Drive has not been shared’ 参考问题解决:https://github.com/Cyb3rWard0g/HELK/issues/79 docker部署Tidb集群官方参考链接:https://pingcap.com/docs-cn/op-guide/docker-compose/ Try the following: docker/compose#4303 主要是因为本地windows磁盘未...
2019-02-20 13:48 5433 0
扩容 TiDB/TiKV 节点 例如,如果要添加两个 TiDB 节点(TiDB1,TiDB2),IP 地址为 172.16.30.90、172.16.30.91, 编辑 inventory.ini 文件,添加节点信息: [tidb_servers] TiDB ansible_host=172.16.30.86 deploy_dir=/data/tidb/deploy_tidb/tidb tidb_port=5000 tidb_status_port=10086 pump_port=8258 labels="host=ip-172-16-30-86" TiDB...
2019-02-19 18:29 4646 0
TiDB 2.0升级2.1 中控机器上安装 Ansible 及其依赖 TiDB-Ansible release-2.1 版本依赖 2.4.2 及以上但不高于 2.7.0 的 Ansible 版本(ansible>=2.4.2,<2.7.0),另依赖 Python 模块:jinja2>=2.9.6 和 jmespath>=0.9.0。为方便管理依赖,新版本使用 pip 安装 Ansible 及其依赖,可参照在中控机器上安装 Ansible 及其依赖 进行安装...
2019-02-19 18:28 4941 2
TiDB 集群文档 [TOC] 1.1、环境说明 部署目标机器若干 建议 4 台及以上,TiKV 至少 3 实例,且与 TiDB、PD 模块不位于同一主机。 推荐安装 CentOS 7.3 及以上版本 Linux 操作系统,x86_64 架构 (amd64)。 机器之间内网互通。 注:使用 Ansible 方式部署时,TiKV 及 PD 节点数据目录所在磁盘请使用 SSD 磁盘,否则无法通过检测。 如果仅验证功能...
2019-02-19 18:27 4698 0