- GTM
- 场景一
- 问题描述:由于业务误操作,导致GTM申请自增列到头,向表里插入数据报错 Out of range value for column 。
- 解决方案:通过CN执行 dbtool -p -x -check-autoinc 库名.表名 的命令得到自增列的名字,然后删除有问题的自增列,修改seq的起始值为正确值,重建sequence。
- 操作步骤:
- 库表以db_test.t1为例。通过CN执行 dbtool -p -x -check-autoinc db_test.t1 查询seq名字。
- 登录数据库,删除查询的sequence
- drop sequence db_test.seq34274289114;
- 修改seq的起始值为正确值,重建sequence
- create sequence db_test.seq34274289114 increment by 1 start with 8000000 maxvalue 2147483647 minvalue 1 nocycle cache 100;
- CM
- 场景一
- 问题描述:Insight 页面不可用时,仍需要进行实时备份。
- 解决方案:登录 Manager 用户,通过执行 ClusterManager 的 dbtool 命令手动触发实时备份。
- 操作步骤:
- 登录 Manager 用户,执行 dbtool -cm -qc clusterid groupid 命令获取当前集群内 DN 的信息,其中 clusterid 为集群 ID,groupid 为分片 ID。
- 登录 Manager 用户,执行以下 dbtool 命令进行备份。参数说明可参考本节的 ClusterManager 命令中的指定备机备份命令。
- 场景二
- 问题描述:Insight 页面不可用时,仍需要进行实时恢复。
- 解决方案:登录 Manager 用户,通过执行 ClusterManager 的 dbtool 命令手动触发实时恢复。
- 操作步骤:
- 登录 Manager 用户,执行 dbtool -cm -qc clusterid groupid 命令获取当前集群内 DN 的信息,其中 clusterid 为集群 ID,groupid 为分片 ID。
- 登录 Manager 用户,执行以下 dbtool 命令进行恢复。参数说明可参考本节的 ClusterManager 命令中的分片恢复命令。
- CN
- 场景一
- 问题描述:防暴力攻击,当 CN 的 ~/etc/proxy.ini 配置文件中的封禁用户开关 user_ban_button 打开,输错密码次数大于触发封禁次数限制 ban_limit 时,封禁用户。
- 解决方案:通过登录 CN 用户,执行 dbtool -p -x -su 查看被封禁的用户,然后通过 dbtool -p -x -uu username 解禁用户。
- 操作步骤:
- 查看修改 CN 用户的 ~/etc/proxy.ini 配置文件的 user_ban_button 和 ban_limit 配置。
- vim ~/etc/proxy.ini
- 多次错误输入密码。
- 查看被封禁的用户。
- dbtool -p -x -su
- 解禁被封禁的 test1 用户。
- dbtool -p -x -uu test1
- 场景二
- 问题描述:当前会话卡住或者会话异常,无法给客户端回信息,需要查杀该会话。
- 解决方案:登录 CN 用户,执行 dbtool -p -x -c ,查看执行异常的会话 dialogid ,执行 dbtool -p -m -i 查看 ProxyID ,计算 ConnectionID : ProxyID*100000+dialogid ,新开一个会话, kill ConnectionID 。
- 操作步骤:
- 查看当前会话,根据会话信息找出异常会话的 dialogid ,假设是下图中的 1011 。
- dbtool -p -x -c
- 查看 ProxyID ,计算 ConnectionID = 5*100000 + 1011 。
- dbtool -p -m -i
- 执行 kill ConnectionID 。
- mysql -uUser -hhost -p'passwd' -PPort
kill ConnectionID
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




