观察 InnoDB 集群:提取特定信息的不同方法

观察 InnoDB 集群:提取特定信息的不同方法

💡 原文英文,约600词,阅读约需2分钟。
📝

内容提要

本文介绍了从InnoDB集群中提取关键信息的方法,包括查询命令、网络测试、实例配置、GR和Replica配置/状态、连接线程内存消耗、连接类型统计和连接统计。作者分享了一些有用的命令和链接供读者参考。

🎯

关键要点

  • 本文介绍了从InnoDB集群中提取关键信息的方法。

  • 提供了查询命令以获取集群的基本信息,如集群ID、名称和描述。

  • 列出了集群成员及其角色的查询命令。

  • 提供了GR应用程序和恢复线程的状态查询命令。

  • 建议检查所有集群成员的拓扑理解,以避免分裂脑拓扑。

  • 提供了MySQL路由器的状态查询命令。

  • 强调了网络测试的重要性,并提供了相关命令。

  • 提供了获取实例配置的查询命令。

  • 列出了GR和副本的配置及状态查询命令。

  • 提供了连接线程内存消耗的统计查询命令。

  • 列出了连接类型的统计信息查询命令。

  • 提供了一些连接统计的查询命令。

  • 提供了有关用户发送/接收字节的查询命令。

  • 列出了表现不佳的用户的查询命令。

  • 提供了一个GitHub链接,供读者参考更多信息。

延伸问答

如何从InnoDB集群中提取基本信息?

可以使用查询命令:select cluster_id, cluster_name, description, cluster_type, primary_mode, clusterset_id from mysql_innodb_cluster_metadata.clusters;

如何检查InnoDB集群成员的角色?

使用查询命令:select * from performance_schema.replication_group_members order by MEMBER_ROLE;

如何获取GR应用程序和恢复线程的状态?

可以使用以下命令:select CHANNEL_NAME, SERVICE_STATE, COUNT_RECEIVED_HEARTBEATS, RECEIVED_TRANSACTION_SET, LAST_ERROR_NUMBER, LAST_ERROR_MESSAGE, LAST_ERROR_TIMESTAMP, LAST_QUEUED_TRANSACTION, QUEUEING_TRANSACTION from performance_schema.replication_connection_status;

如何进行网络测试以确保集群正常?

可以使用命令:netstat -l | grep mysql 和 tracepath -b -p 3306 dbnode1,确保从所有服务器到所有服务器都运行这些测试。

如何获取实例的配置?

使用查询命令:select @@hostname,@@port, @@external_user, @@proxy_user,@@read_only, @@pid_file, @@pseudo_thread_id, @@socket, @@wait_timeout, @@init_connect, @@init_file, @@init_replica, @@innodb_status_output, @@net_retry_count;

如何统计连接线程的内存消耗?

可以使用命令:select type,sum(TOTAL_MEMORY)/1048576 'Memory(Mb)' from performance_schema.threads group by type;

🏷️

标签

➡️

继续阅读