随笔分类 - percona工具使用
摘要:一 现象 数据库运维平台执行DDL操作导致了死锁问题二 死锁日志关键点 1 事务包含语句 replace into (更新操作) 2 事务等待锁 lock mode AUTO-INC waiting三 过程执行语句 1 pt-osc INSERT LOW_PRIORITY IGNORE INTO 持
阅读全文
摘要:1 组合 pt-online-schema-change --user= --password= --host= D=,t= --sock=/tmp/mysql.sock --alter '' --charset=utf8 --alter-foreign-keys-method=auto --max
阅读全文
摘要:零 原理 1 开启两个线程,一个线程拷贝innodb文件,一个线程拷贝redolog日志,redolog从最新的ckpt点开始拷贝日志 2 拷贝完innodb文件,全局加ftwl锁,开始拷贝非innodb文件 3 拷贝完非innodb文件,开始获取binlog的位置,并将binlog的点位信息写入文
阅读全文
摘要:一 简介:今天咱们来聊聊pt-archiver的使用二 说明 如果是主键,则直接生成sql语句,如果是非主键/没有索引,则会先查询出主键,然后再生成force index(primary) sql语句,主键能保证全局唯一性 三 只进行数据清理 pt-archiver --no-version-che
阅读全文
摘要:一 安装 git clone https://github.com/hanchuanchuan/goInception.git cd goInception make parser go build -o goInception tidb-server/main.go ./goInception -
阅读全文
摘要:一 对表的基本要求 1 表必须要有主键 2 binlog必须是ROW格式 3 表不能有外键/触发器约束 二 基本过程 1 检测实例基本参数是否符合 2 添加binlog监听,目标主库/从库 3 创建_xxx_ghc表(记录操作步骤) _xxx_gho表(全新表) 4 同时进行以下两个工作 对原表进行
阅读全文
摘要:inception使用注意事项 1 对于同一工单内不要DDL和DML工单进行混合提交,可能会导致问题,对于备份亦是如此.分别拆开进行处理 2 对于以下的操作可能会导致问题,请尽量避免 1 多表join的事务操作 2 内含子查询的事务操作 3 对于 in exits操作这种类型内置的ID不能太多,否则
阅读全文
摘要:pt-stalk一 目的:捕捉出现周期性故障进行收集,常用于排查问题,可在排除问题时才进行开启 二 参数 --daemonize 守护进程 --log 日志 --function 调用脚本或者函数 --variable 报警关键字 --threshold 阈值 --cycles 重试次数 --sle
阅读全文
摘要:一 简介:如何使用pt-iopfile调查io具体信息二 目的:利用pt-iopfile分析mysql内部IO操作密集的文件,用以发现问题三 使用: pt-iopfile -p mysql_pid -c sizes B/S输出 -c times 默认 -c count 四 输出结果 total pr
阅读全文
摘要:简介:今天咱们来聊聊PT修复工具pt-table-sync 注意事项: 1 表要有主键或者唯一键 2 针对每一个chunk加的是for update锁 3 修复过程中不能容忍从库延迟 如果从库延迟太多,pt-table-sync会长期持有对chunk的for update锁,然后等待从库的maste
阅读全文
摘要:简介:今天咱们来聊聊PT校验工具pt-table-checksum 注意事项: 1、 根据测试,需要一个即能登录主库,也能登录从库的账号; 2、 只能指定一个host,必须为主库的IP; 3、 在检查时会向表加S锁; 4、 如果master和slave的binlog日志不是STATEMENT格式,要
阅读全文