TIDB
文章平均质量分 52
与数据交流的路上
这个作者很懒,什么都没留下…
展开
-
LINUX-df和du的统计结果不同
有一套TiDB集群,其中tikv的机器出现了磁盘报警,查看之后发现除了数据过多之外,还有node_exporter的日志过大的问题,日志内容如下可以看到,这是因为tidb会无限重启node_exporter,但是9100的端口被占用,所以一直启动不起来。原创 2023-03-06 15:12:47 · 97 阅读 · 0 评论 -
TIDB-analyze table所引起的Data Too Long问题
我所使用的TIDB版本是4.0.13,对于analyze 产生的data too long的问题有两种,下面分别介绍下两种问题的现象和解决方案。原创 2023-03-03 18:35:26 · 385 阅读 · 0 评论 -
TIDB-记录一次cdc同步报错处理
具体架构上游是tidb,经由cdc同步到mysql,同步出错的原因是因为不支持的ddl语句,一共有两个ddl同时执行以前总能碰到mysql的DDL在tidb上不支持,这种情况下的DDL是特别注意的,但是tidb用习惯后,没有注意这一点,查了才发现,确实是不支持字段的rename操作,可以通过change column等来达到效果。原创 2023-02-24 16:45:23 · 514 阅读 · 0 评论 -
tidb-There are no matching table names optimizer hint /*+ HASH_JOIN(m1, m2) */
这个在tidb里是一种很常见的bug,是由于执行计划不对导致的查询报错,但是我有三个tidb,其中两个执行计划都是对的(显然这有点问题,但这不是本次讨论的重点),这样就比较好排查了。原创 2023-01-30 16:13:59 · 274 阅读 · 0 评论 -
tidb-系统内核调优及对比
验证系统调优对性能的影响,用sysbench做了一些简单的测试,具体调整方法可见。原创 2022-08-25 11:04:06 · 159 阅读 · 0 评论 -
TIDB-PD-RECOVER的恢复方式
一共三台pd的机器,集群名字tidb-1。原创 2022-08-05 15:12:37 · 499 阅读 · 0 评论 -
tidb-读热点造成的单kv负载高
出现了一台tikv的cpu远远高于其他两台,其监控如下图所示。原创 2022-07-19 17:29:14 · 458 阅读 · 0 评论 -
tidb-gc长时间不变动引起的慢查询
开发反应一张表的查询时间很长,表的行数也不多,不应该有这种现象通过上面的查询知道表的行数只有两千多行,没有索引,正常来说是应该为毫秒级的查询,但是执行计划中可以看到rpc_num 1, rpc_time:52srpc_num: 向 TiKV 发送 Cop 类型的 RPC 请求总数量rpc_time: 向 TiKV 发送 Cop 类型的 RPC 请求时间同样的查询加上索引就快了,但是根据经验判断,2000多行的表有无索引的情况是一致的,除非优化器认为他真实的数据远大于2000行,所以猜测是我们的版本原创 2022-07-11 18:16:17 · 314 阅读 · 0 评论 -
tidb-cdc同步kafka报错Message was too large
在kafka的配置文件中填写以下参数调大同步的消息数量,然后重启kafka即可原创 2022-06-30 17:41:01 · 367 阅读 · 0 评论 -
tidb-cdc同步到kafka报错cdc报错CDC:ErrKafkaNewSaramaProducer
cdc创建任务的时候出现卡死的情况或者报错[CDC:ErrKafkaNewSaramaProducer]kafka: client has run out of available brokers to talk to (Is your cluster reachable?)1.已经指定了Kafka-version,并且kafka没有开启sasl验证,所以原因1,2排除2.尝试了多个版本的kafka和tidb集群,也是一样的报错,原因3排除3.listeners的配置已经调了,kafka的9092端口已原创 2022-06-30 17:35:02 · 1165 阅读 · 0 评论 -
tidb-dm报警DM_sync_process_exists_with_error排查
dm同步任务报警DM_sync_process_exists_with_error,过了一小会自动恢复,想着排查一下原因2.上游mysql日志3.下游tidb日志4.下游tikv日志5.pd日志6.监控 cluster_tidb --> kv errors可以看到这个报警的引起是由于dm-worker产生报错invalid connection,而这个报错这是由于tidb出现了wait response is cancelled,而tidb出现了这种问题则是由于tikv出现了锁和back原创 2022-06-29 16:40:09 · 213 阅读 · 0 评论 -
TIDB-升级版本
当前版本:4.0.15升级版本:5.3.12.升级tiup cluster版本3.离线部署的准备操作(非离线部署方式可以跳过此步骤)3.1 更新离线镜像3.2 升级cluster组件此时离线镜像已经更新成功。如果覆盖后发现 TiUP 运行报错,可能是 manifest 未更新导致,可尝试 rm -rf ~/.tiup/manifests/* 后再使用。4.1 tidb5.3版本已经废弃的参数配置文件参数地址:5.升级集群5.1 不停机升级注意:5.2.2 停机升级5.2原创 2022-06-21 16:05:12 · 1034 阅读 · 0 评论 -
TIDB-performance overview面板
监控原创 2022-06-20 17:02:39 · 196 阅读 · 0 评论 -
TiDB-unsafe recover(tikv宕机数大于等于一半副本数)
tikv unsafe-recover原创 2022-06-07 17:48:15 · 277 阅读 · 0 评论 -
tidb-lightning配置数据还原路由
lightning路由原创 2022-06-06 18:29:14 · 186 阅读 · 0 评论 -
tidb-数据误删恢复的几种方式
一、背景在日常的操作中难免有些误操作,那这时候有什么办法,不通的数据库有不同的办法,多数是用备份恢复,还有一些其他特有的方法,如mysql的binlog,那么tidb有什么特有的方法呢,下面来介绍下二、环境准备# 建表和准备数据create table recover_test(id int(10));insert into recover_test values(1),(2),(3),(4);# 查看gc相关参数,tikv_gc_life_time,tikv_gc_safe_point,ti原创 2022-06-02 17:50:42 · 1410 阅读 · 0 评论 -
tidb-gc相关问题
gc问题相关原创 2022-06-02 14:37:58 · 124 阅读 · 0 评论 -
tidb-ddl的速度的调整
一、环境描述ip组件配置192.168.1.1tidb、pd、tikv2c4g192.168.1.2tidb、pd、tikv2c4g192.168.1.3tidb、pd、tikv2c4g二、实验环境准备1.建表# ddl_1,ddl_2,ddl_3表结构一致CREATE TABLE `ddl_1` ( `id` int(10) NOT NULL AUTO_INCREMENT, `z_name` varchar(20) COLLATE utf原创 2022-05-31 11:15:55 · 206 阅读 · 0 评论 -
tidb-cdc同步mysql没有的特性到mysql时的处理
一、背景为了保证tidb的稳定运行,我们在tidb的后端接入了一个mysql,但是tidb中又有一些mysql中没有的特性,那这时候cdc会怎么处理呢,下面挑了其中几个常用的特性进行实验二、实验步骤1.刷新二进制# 执行位置:下游mysql# 目的:为了更容易查看写入到二进制中的真实内容flush logs2.创建含SHARD_ROW_ID_BITS特性的表create table write_hot_3 (id bigint(20) not null, z_name varchar(20原创 2022-05-27 10:46:11 · 176 阅读 · 0 评论 -
tidb-写热点的测试及分析
一、写热点现象1.通过grafana中的TiKV-Trouble-Shooting 中 Hot Write 面板的raft store cpu观测是否有单节点的cpu高于其他节点2.dashboard中写热点图呈现如下状态二、解决写入热点的几种方法1.建表的时候采用SHARD_ROW_ID_BITS 和PRE_SPLIT_REGIONS2.使用auto_random来代替auto_inccrement三、测试及验证1.建表语句create table write_hot_1(id bigi原创 2022-05-27 10:27:45 · 333 阅读 · 0 评论 -
tidb-cdc日志tables are not eligible to replicate
一、背景新建了一个cdc同步的任务,上游为tidb,下游为mysql,但是发现一些新建的表并不能同步到下游mysql中二、排查1.查看日志# 内容如下这表明这个表不满足同步条件tables are not eligible to replicate2.cdc同步的限制TiCDC 只能同步至少存在一个有效索引的表,有效索引的定义如下:主键 (PRIMARY KEY) 为有效索引。同时满足下列条件的唯一索引 (UNIQUE INDEX) 为有效索引:索引中每一列在表结构中明确定义非空原创 2022-05-26 16:17:31 · 287 阅读 · 0 评论 -
tidb-cdc创建任务报错 Unknown or incorrect time zone
一、报错详情fail to open MySQL connection: [CDC:ErrMySQLConnectionError]Error 1298: Unknown or incorrect time zone: 'Asia/Shanghai'二、排查# 登陆tidb,查看时区show variables like '%time_zone%';+------------------+---------------+| Variable_name | Value |原创 2022-05-26 14:45:26 · 890 阅读 · 0 评论 -
mysql-prepare用法
一、基本用法# 准备可以引用的语句,?代表参数:# 准备好的语句特定于创建它的会话。 如果您终止会话而不释放先前准备的语句,则服务器会自动释放它。# 准备好的语句对于会话也是全局的。 如果在存储过程中创建准备好的语句,则在存储过程结束时不会释放它。PREPARE stmt1 FROM 'SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse';# 设置变量SET @a = 3;SET @b = 4;#调用准备好的语句EXECUTE stmt1 U原创 2022-04-20 14:02:19 · 2027 阅读 · 0 评论 -
TiDB-unsafe recover(三台tikv宕机两台)
一、背景名称数量tikv3副本31.故障:因为某些原因,两台tikv不可连接,出现region不能访问的故障2.几条理论:2.1.多副本原则存在一半以上的副本则集群访问不受影响(如n副本,存活(n+1)/ 2)2.2.数据完整性当副本数量等于tikv的数量的时候,每一个tikv都有全部的region,只不过不是每个region都是leader2.3.集群不可访问当副本存活数量小于(n+1)/ 2的时候,集群不可访问,只能使用unsafe recover原创 2022-03-25 19:00:36 · 944 阅读 · 0 评论 -
TiDB-一次错误缩容binlog带来的问题
一、正确步骤首先说下我觉得缩容binlog的正确步骤:1.关闭binlogtiup cluster edit-config cluster_name#去掉下面图片的binlog相关配置,然后重新加载配置tiup cluster reload cluster_name2.缩容drainer,pump2.1binlogctl(比较推荐):# 详细操作可以看官网:https://docs.pingcap.com/zh/tidb/v4.0/binlog-control#binlogctl-工具原创 2022-03-23 12:09:18 · 1188 阅读 · 0 评论 -
TiDB-遇到的bug整理
一、背景TiDB是一个非常优秀的分布式数据库,但是成长的过程中难免会有一些bug,这里记载一些遇到的或者见到的bug,帮助排查问题二、详情bug地址:https://github.com/pingcap/tidb/issues/15563描述:高精度deciaml相除+distinct产生的bug解决:采用转换decimal类型或者修改逻辑来解决持续更新中......原创 2022-03-11 14:15:27 · 640 阅读 · 0 评论 -
tidb查看配置
show config原创 2022-02-11 16:33:59 · 731 阅读 · 0 评论 -
TiDB的analyze出现Data too long for column ‘upper_bound‘
这是统计信息的问题,已知bughttps://github.com/pingcap/tidb/issues/30925https://github.com/pingcap/tidb/pull/28800原因:analyze的信息超长,超过了blob的存储范围,将存储统计信息的表的对应字段改成longblob就行,已知问题,5.3应该改了解决办法:show create table mysql.stats_buckets;ALTER TABLE mysql.stats_buckets MODI原创 2022-02-10 11:00:19 · 217 阅读 · 0 评论 -
TiDB-pd监控中出现tombstone stores的处理办法
一、背景pd监控中出现tombstone stores的情况,是因为下线的tikv信息还在pd中存储着,这时候需要登陆pd ctl,执行二、解决tiup ctl:v4.0.13 pd -i -u http://pd_ip:pd_portstore remove-tombstone即可原创 2022-02-09 15:46:19 · 933 阅读 · 0 评论 -
TiDB-merge region相关问题
一、开启region merge# 控制 Region Merge 的 size 上限,当 Region Size 大于指定值时 PD 不会将其与相邻的 Region 合并pd-ctl config set max-merge-region-size 20# 控制 Region Merge 的 key 上限,当 Region key 大于指定值时 PD 不会将其与相邻的 Region 合并pd-ctl config set max-merge-region-keys 200000# 同时进行的 R原创 2022-02-09 15:43:46 · 1338 阅读 · 0 评论 -
TiDB-ticdc的tso不变,但却没报错
一、现象今天突然发现ticdc的tso不变,但是没有报错,而且上游和下游确实有延迟。二、环境描述上游: TiDB 4.0.13下游: MySQL 5.7.26同步: TiCDC 4.0.14三、操作对cdc同步任务做了暂停,恢复,新启了一个相同start-tso的同步任务都没有用,日志没有也出现了卡死的情况四、解决最终在两台ticdc上用tcpdump对3306端口进行抓包tcpdump -i any -s 0 -l -w - dst port 3306(或者查看下游的通用日志),原创 2022-01-28 10:50:09 · 1405 阅读 · 0 评论 -
TiDB-因为读操作引起的OOM或者内存飙升的排查
一、背景突然收到监控报警,显示tidb的使用内存超过了80%,基于一个DBA的直觉,想到这种情况是由于慢查询引起的二、排查步骤1.查看监控确定具体时间cluster-Overview–>TiDB–>Memory Usage2.定位对应的慢sql在tidb查找慢sql有几种方式2.1 dashboard中的sql语句分析/慢查询2.2 information_schema的CLUSTER_SLOW_QUERY(所有节点慢sql)SLOW_QUERY(当前节点慢sql)2.3 各原创 2022-01-11 14:50:03 · 1166 阅读 · 0 评论 -
TIDB-runtime error: index out of range [2] with length 2
记录一下两表关联的时候遇到的问题,查询报错:ERROR 1105 (HY000): runtime error: index out of range [2] with length 2原因:两表排序规则不一致原创 2022-01-05 10:45:22 · 1241 阅读 · 0 评论 -
tidb-cluster相关的系统库查看结果显示不全
一、背景今日查看cluster_相关的系统库,如慢日志等,发现普通用户和root用户的结果不一致二、原因是因为权限的问题,与mysql的show processlist限制一致,需要给普通用户一个process权限才行grant process on *.* to user@'%'...原创 2021-11-24 17:49:38 · 103 阅读 · 0 评论 -
tidb-tso与标准时间相互转换
SELECT TIDB_PARSE_TSO(@@tidb_current_ts);原创 2021-11-24 14:50:29 · 970 阅读 · 0 评论 -
tidb-duplicate primary的问题
一、背景公司数据从mysql同步到tidb上,然后开发小哥在不显示指定自增主键的情况下便爆出主键冲突的问题二、原因1.由于插入的时候有程序在写入这种在mysql上也有,这里不详细解释了,属于正常现象2.tidb特性造成的主键冲突tidb的ip方便说明问题的代码当前自增id值192.168.1.1a153192.168.1.2b30002192.168.1.3c60003假如这时候显式插入一条60004,如果这个操作是在c节点执行的,那么c节点的原创 2021-11-17 10:31:37 · 815 阅读 · 0 评论 -
TIDB-扩缩容问题
1.扩容2.缩容缩容不成功的时候可以采取--force强制缩容原创 2021-11-15 17:54:27 · 670 阅读 · 0 评论 -
tidb-dm-start-relay操作
一、背景因为dm同步出现问题没有及时发现,而上游又binlog保存时间较短,所以同步的binlog找不到,这时候就需要将备份的二进制文件放到relay-log中,而relay-log就没有开启,就需要重新开启relay-log二、开启relay-log操作1.停止该源上同步任务tiup dmctl --master-addr master_ip:8261 stop-task task-name2.删除源tiup dmctl --master-addr master_ip:8261 operat原创 2021-11-11 15:36:39 · 411 阅读 · 0 评论 -
tidb-analyze
±-----------------------------±------------+| Variable_name | Value |±-----------------------------±------------+| tidb_auto_analyze_end_time | 23:59 +0000 || tidb_auto_analyze_ratio | 0.5 || tidb_auto_analyze_start原创 2021-10-23 17:37:21 · 829 阅读 · 0 评论 -
tidb-br备份与恢复
一、描述br备份 ./br backup table \ --pd "*****" \ --db br_tmp \ --table b \ --storage "s3://****/tidb" \ --s3.region "eu-west-1" \ --send-credentials-to-tikv=true \ --ratelimit 128 \ --log-file backuptable.log原创 2021-10-22 16:27:58 · 881 阅读 · 2 评论