MySQL常用集群日常运维命令总结

一、MHA集群

  1. 检测环境相关

检测 SSH 是否正常:

[root@postgresql ~]# masterha_check_ssh --conf=/etc/mha/mysql_mha.cnf

检测配置文件是否正常:

[root@postgresql ~]# masterha_check_repl --conf=/etc/mha/mysql_mha.cnf
  1. 启动与关闭管理进程

启动 MHA:

[root@postgresql ~]#nohup masterha_manager --conf=/etc/mha/mysql_mha.cnf > /data/mha/manager.log < /dev/null 2>&1 &

关闭 MHA:

[root@postgresql ~]#masterha_stop  --conf=/etc/mha/mysql_mha.cnf
  1. 查看运行状态

检查 MHA 运行状态:

[root@postgresql ~]#masterha_check_status --conf=/etc/mha/mysql_mha.cnf

查看进程:

[root@postgresql ~]#ps aux |grep masterha_manager

二、MGR集群

  1. 查看集群信息

查看节点信息:

root@localhost:ceshi>SELECT * FROM performance_schema.replication_group_members;

查看节点状态:

root@localhost:ceshi>select * from performance_schema.replication_connection_status\G;
  1. 多主单主切换相关
    单主模式下主节点手工切换到其它节点(需指定主机的 UUID):
root@localhost:ceshi>select group_replication_set_as_primary(member_UUid);

在线单主切换为多主:

root@localhost:ceshi>select group_replication_switch_to_multi_primary_mode();

在线多主切换为单主(不指定 member_uuid 可根据 uuid 大小自动选主):

root@localhost:ceshi>select group_replication_switch_to_single_primary_mode();

在线多主切换为单主(可指定节点 UUID):

root@localhost:ceshi>select group_replication_switch_to_single_primary_mode(member_uuid);

三、PXC集群

  1. 验证集群状态(登录 MySQL 检查相关状态)

查看节点数量:

  [root@postgresql ~]# mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size';"

查看节点数(查看节点地址相关信息):

  [root@postgresql ~]#mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_incoming_addresses';"

查看节点状态(重点关注 wsrep_local_state 值):

  [root@postgresql ~]#mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_local_state';"

(值为 4 表示正常,1 表示 joining,正在加入集群;2 表示 donor,为新加入节点同步数据;3 表示 joined,已成功加入集群;4 表示 synced,与整个集群同步状态)

四、InnoDB Cluster集群

  1. 连接到MySQL Server
mysqlsh admin@192.168.1.41:3306 --password
# 可按需切换模式,例如切换到SQL模式
\sql
# 切换到Python模式
\py
# 切换到JavaScript模式
\js
  1. 查看集群状态(多种方式)
-- 在SQL模式下查看节点状态(查看集群成员信息)
SELECT * FROM performance_schema.replication_group_members;
  1. 查看集群配置
-- 在SQL模式下查看与集群相关配置参数
SHOW VARIABLES LIKE '%GROUP%';
  1. 检查复制健康状况
-- 在SQL模式下查看节点连接状态等详细信息
select * from performance_schema.replication_connection_status\G;

三、集群管理操作

  1. 集群配置检查
# 获取集群对象并查看其状态以检查整体配置情况
cluster = dba.getCluster('myCluster')
cluster.status()
  1. 检查节点是否满足InnoDB Cluster条件
# 检查指定节点是否符合InnoDB Cluster要求
MySQL JS >dba.checkInstanceConfiguration('admin@192.168.1.1:3306')
  1. 配置节点
# 使用mysql shell远程设置实例配置(比如增加InnoDB Cluster相关配置项)
MySQL JS > dba.configureInstance('admin@192.168.1.1:3306')
  1. 新增节点
# 将新节点添加到集群中,前提是新节点已安装MySQL且配置与主节点一致
cluster.addInstance('admin@192.168.1.1:3306')
  1. 移除节点
# 当节点需要下线维护时,将其移出集群
cluster.removeInstance('admin@192.168.1.2:3306')

五、其他常见MySQL集群通用运维操作(以主从复制为基础的集群相关示例)

  1. 查看主节点状态(在主节点执行)
SHOW MASTER STATUS\G

查看如当前binlog日志文件、位置等关键信息。

  1. 查看从节点状态(在从节点执行)
SHOW SLAVE STATUS\G

关注 Slave_IO_RunningSlave_SQL_Running 是否为 YES 以及 Seconds_Behind_Master(主从延迟情况)等重要信息。

  1. 查看所有的binlog日志文件(在主节点执行)
SHOW MASTER LOGS;
  1. 查看节点间网络连通性(在各节点上使用,排查主从复制网络问题)
# 测试到其他节点的网络连通性,比如从节点测试到主节点
ping 主节点IP
# 测试MySQL服务端口是否可访问(以主节点端口3306为例)
telnet 主节点IP 3306
  1. 查看从节点的错误信息(通过查看从状态中的错误字段来排查主从复制问题)
# 在从节点执行,重点关注Last_Errno、Last_Error字段
SHOW SLAVE STATUS\G
  1. 查看主节点binlog内容(用于排查主从复制相关数据不一致等问题)
# 使用mysqlbinlog工具查看指定binlog文件内容,如查看mysql-bin.000001文件
mysqlbinlog mysql-bin.000001
  1. 查看从节点relay log内容(分析从节点应用中继日志过程是否异常)
mysqlbinlog mysql-relay-bin.000001
  1. 查看集群中各节点当前连接数(了解数据库负载情况)
SHOW PROCESSLIST;

欢迎关注公众号《小周的数据库进阶之路》,更多精彩知识和干货尽在其中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值