check_master_slave_replica_status.sh 964 B

12345678910111213141516171819
  1. # 检查详细的复制状态
  2. SLAVE_POD=$(kubectl get pod -l role=slave -o jsonpath='{.items[0].metadata.name}')
  3. MASTER_POD=$(kubectl get pod -l role=master -o jsonpath='{.items[0].metadata.name}')
  4. echo "=== 检查复制状态 ==="
  5. kubectl exec $SLAVE_POD -- mysql -uroot -proot123 -e "SHOW REPLICA STATUS\G" | grep -E "Replica_IO_Running|Replica_SQL_Running|Seconds_Behind_Source|Source_Host|Source_User|Last_IO_Error|Last_SQL_Error"
  6. # 获取具体的运行状态
  7. IO_RUNNING=$(kubectl exec $SLAVE_POD -- mysql -uroot -proot123 -e "SHOW REPLICA STATUS\G" | grep "Replica_IO_Running:" | awk '{print $2}')
  8. SQL_RUNNING=$(kubectl exec $SLAVE_POD -- mysql -uroot -proot123 -e "SHOW REPLICA STATUS\G" | grep "Replica_SQL_Running:" | awk '{print $2}')
  9. echo -e "\nIO线程状态: $IO_RUNNING"
  10. echo "SQL线程状态: $SQL_RUNNING"
  11. if [ "$IO_RUNNING" = "Yes" ] && [ "$SQL_RUNNING" = "Yes" ]; then
  12. echo "✅ 复制运行正常!"
  13. else
  14. echo "❌ 复制异常"
  15. fi