ITPub博客

首页 > 数据库 > MySQL > dble运维命令汇总

dble运维命令汇总

原创 MySQL 作者:chenfeng 时间:2021-12-31 16:52:16 0 删除 编辑

一.基本信息

查看所有可用的管理命令

show @@help


显示dble内存使用率,运行时长和字符集等:

show @@server


查看 dble 配置了哪些逻辑库:

show @@database


查看逻辑分片节点信息:

show @@shardingNode

备注:schema_exists 显示的信息不是实时获取的,只表示加载配置时刻,对象是存在的。


查看 dble 最近接收到的1024条SQL语句:

show @@sql

备注:

每5s清理一次,可以充当下 general_log。


查看 SQL 执行频次:

show @@sql.high

备注:执行频次高的和响应延迟慢的都是我们要重点关注的


按用户维度,显示读写次数和比例:

show @@sql.sum.user

备注:

了解负载情况,才好有针对性的优化。读多写少,读写分离;写多读少,优化io或热点拆分。



按用户维度,显示读写次数和比例:

show @@sql.sum.user

备注:了解负载情况,才好有针对性的优化。读多写少,读写分离;写多读少,优化io或热点拆分。


按表维度,显示读写次数和比例:

show @@sql.sum.table

备注:哪个表是热点一目了然。


查看 SQL 执行时间最慢的 top10 :

show @@sql.slow

备注:

没开慢日志,也不影响你快速定位慢 SQL。


查看 dble 配置参数信息:

show @@sysparam

备注:上报问题前,先把参数配置搜集齐了。


查看白名单设置:

show @@white

备注:控制用户通行。


查看当前后端实例的 gtid_executed:

show @@binlog.status

备注:集群的⼀致性备份就靠它。


查看指定表使用的分片算法:

show @@algorithm where schema='testdb'and table='sbtest1'

备注:比看xml配置文件更方便


查看指定表的逻辑分片节点:

show @@shardingNodes where schema='testdb' and table='sbtest1'


查看配置文件 reload 时间:

show @@reload_status


查看用户列表:

show @@user

备注:是否为管理用户,是否为只读用户,用户的最大连接数限制都一目了然。


查看前端访问用户的权限信息:

show @@user.privilege


查看指定表所对应逻辑分片的行数:

show @@data_distribution where table ='testdb.sbtest1'

备注:由此可判断数据分片的分布倾斜。


查看 dble 对于后端实例配置的连接参数:

show @@connection_pool


二.故障诊断


查看后端数据库实例的心跳检测情况:

show @@heartbeat

备注:

需开启心跳检测功能,RS_CODE 为 OK 表示心跳正常,RS_MESSAGE 显⽰⼼跳语句的反馈信息,快速诊断 dble 到后端数据库实例链路连通性。


查看 dble 到后端数据库实例的连接信息:

show @@backend


查看当前活跃的前端连接信息,网络络流量信息:

show @@connection

备注:

可用来诊断前端的连接会话。


查看前端连接接收到的 SQL 信息:

show @@connection.sql


查看当前活跃的后端连接:

show @@session


查看 dble 内部线程负载情况:

show @@thread_used

备注:若观测到线程负载⽐例很⾼,说明线程负载饱和,可适当调⼤线程数量,参考dble性能观测


BussinessExecutorX

前端业务(应⽤客⼾端)处理线程,主要处理前端请求的解析,sql 解析路由,下发查询到 mysql 实例等

bootstrap.cnf 配置⽂件的 ProcessorExecutor 参数控制其数量



backendBusinessExecutorX

后端业务(数据库)处理线程,主要处理后端 mysql 询结果的返回解析,结果聚合,并发回结果到 client

bootstrap.cnf 配置文件的 backendProcessorExecutor 参数控制其数量

_NIO_REACTOR_FRONT_X

负责前端(应用客户端)请求收发的线程,再把数据交给 BussinessExecutor 处理

bootstrap.cnf 配置文件的 processors 参数控制其数量

$_NIO_REACTOR_BACKEND_X

负责后端(数据库)请求收发的线程,再把数据交给 backendBusinessExecutor 处理

bootstrap.cnf 配置⽂件的 backendProcessors 参数控制其数量


启用dble general_log:

enable @@general_log

备注:想了解前端发送些什么 SQL ,就用它了,有开销不宜长期启用。



三.维护操作

杀掉客户端的连接:

kill @@connection

备注:参数为 show @@connection 显⽰的 FRONT_ID 值


重载配置文件:

reload @@config_all

备注:可在不停 dble 服务的情况下,修改 db.xml、user.xml、sharding.xml。


检查下配置文件,看看有哪些潜在问题:

dryrun


检查表定义是否一致:

check full @@metadata

备注:该操作不是实时的⼀致性检查,是最近⼀次加载配置时的⼀致性,执⾏命令时不会向后端实例发送请求。

consistent_in_sharding_nodes 表示分片节点之间的一致性,1代表一致

consistent_in_memory 表示dble 缓存中与后端实例的一致性,1代表一致


检查全局表一致性:

check @@global

备注:执⾏命令时会向后端实例的每个逻辑分片发送 checksum table 命令,关注 DISTINCT_CONSISTENCY_NUMBER ,

若大于1表示有不只一种检查结果,说存在全局表不一致的情况。


把准备导入 dble 集群的大表,按逻辑分片节点拆分成多个 sql 文件,拆分后可以直接并行导入后端实例:

split src dest [-sschema] [-r500] [-w500] [-l10000] [--ignore] [-t2]


暂停逻辑分片的流量:

pause @@shardingNode = 'dn1' and timeout = 10000;

备注:

可在分⽚扩容迁移过程中使⽤。扩容基本流程:


克隆新的分⽚节点

修改 schema.xml 更新 datanode 与新的分⽚节点关系

暂停分⽚访问 pause @@shardingNode = 'dn1' and timeout= 10;

补齐该分片增量 binlog日志

加载生效配置 reload @@config_all

resume 恢复流量

清理掉原实例中已扩容分片和新实例中未扩容分片的数据




来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/15498/viewspace-2850360/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
交流MySQL,PolarDB/PolarDB-X,PostgreSQL,MongoDB和Redis技术。

注册时间:2015-12-07

  • 博文量
    784
  • 访问量
    2689135