MySQL 主从故障排查

点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!  MySQL 主从复制是一种常见的数据库架构,用于提高数据库的可用性和性能。但是,在实际应用中,主从故障是难免的。本文详细介绍一套MySQL主从故障排查方案。



确认主从状态

首先要确定主从复制的状态,可以通过执行以下命令来检查:1)SHOW MASTER STATUS; 命令用于显示主库的状态信息,包括以下列:
  • File: 当前正在写入的二进制日志文件名。
  • Position: 文件中当前正在写入的位置。
  • Binlog_Do_DB: 主库正在复制的数据库列表。
  • Binlog_Ignore_DB: 主库正在忽略复制的数据库列表。
  • Master_Host: 主库的主机名或 IP 地址。
  • Master_User: 从库用于连接主库的用户名。
  • Master_Port: 主库的端口号。
  • Connect_Retry: 从库尝试连接到主库的次数。
  • Master_Log_File: 主库当前正在写入的二进制日志文件名。
  • Read_Master_Log_Pos: 从库当前读取的主库二进制日志位置。
  • Relay_Log_File: 从库正在写入的中继日志文件名。
  • Relay_Log_Pos: 从库当前写入的中继日志位置。
  • Relay_Master_Log_File: 从库当前读取的主库二进制日志文件名。
  • Slave_IO_Running: 从库的 I/O 线程是否正在运行。
  • Slave_SQL_Running: 从库的 SQL 线程是否正在运行。
  • Last_Errno: 最后一个复制错误的错误码。
  • Last_Error: 最后一个复制错误的错误信息。
  • Seconds_Behind_Master: 从库与主库之间的复制延迟时间(秒)。
  • telnet 主库IP地址 3306。
  • User: 进程所属的用户。
  • Host: 进程连接的主机名或 IP 地址。
  • db: 进程正在使用的数据库。
  • Command: 进程正在执行的命令类型。
  • Time: 进程运行的时间(秒)。
  • State: 进程的当前状态。
  • Info: 进程正在执行的具体 SQL 语句。
  • TRANSACTIONS: 事务的状态信息。
  • FILE I/O: 文件 I/O 操作的状态信息。
  • INSERT BUFFER AND ADAPTIVE HASH INDEX: 插入缓冲区和自适应哈希索引的状态信息。
  • LOG: 日志的状态信息。
  • BUFFER POOL AND MEMORY: 缓冲池和内存的状态信息。
  • ROW OPERATIONS: 行操作的状态信息。
  • SEMAPHORES: 信号量的状态信息。
  • TRANSACTIONS: 事务的状态信息。
  • FILE I/O: 文件 I/O 操作的状态信息。
  • INSERT BUFFER AND ADAPTIVE HASH INDEX: 插入缓冲区和自适应哈希索引的状态信息。
  • LOG: 日志的状态信息。
  • BUFFER POOL AND MEMORY: 缓冲池和内存的状态信息。
  • ROW OPERATIONS: 行操作的状态信息。
  • TRANSACTIONS: 事务的状态信息。
  • FILE I/O: 文件 I/O 操作的状态信息。
  • INSERT BUFFER AND ADAPTIVE HASH INDEX: 插入缓冲区和自适应哈希索引的状态信息。
  • LOG: 日志的状态信息。
  • BUFFER POOL AND MEMORY: 缓冲池和内存的状态信息。
  • ROW OPERATIONS: 行操作的状态信息。