MySQL Replikasyon Durumu ve Gecikme Kontrolü
IO/SQL thread durumunu, Seconds_Behind_Source değerini ve son hataları kontrol eder. Replica sağlığını hızlıca doğrulamak için kullanılır.
-- 1. Replikasyon Durumu (Classic Replica Status)
SHOW REPLICA STATUS\G
-- Alanlar: Replica_IO_Running, Replica_SQL_Running, Seconds_Behind_Source
-- 2. Performance Schema ile (MySQL 8.0+)
SELECT channel_name, service_state, last_error_message
FROM performance_schema.replication_connection_status;
SELECT channel_name, service_state, last_error_message
FROM performance_schema.replication_applier_status_by_worker;Üretim ortamında çalıştırmadan önce test ortamında doğrulayın. Salt okunur teşhis sorgusudur; sistem kilitlerine yol açmaz.
- Bu script salt okunur (read-only) teşhis için tasarlanmıştır; doğrudan veri veya şema değişikliği yapmaz.
- Ağır yük altındaki üretim sunucularında çalıştırmadan önce hedef veritabanı sürümünü (Min. Sürüm: 8.0.22 (eski: `SHOW SLAVE STATUS`)) doğrulayın.
- İlişkili oturumu sonlandırma veya indeks silme gibi yazma etkili aksiyonlar için notlar bölümündeki komutları temkinli uygulayın.
Mühendislik Triadı: İlgili Runbook ve Kriz Müdahaleleri
Bu script hangi üretim alarmlarında ve acil durum tatbikatlarında teşhis adımı olarak çalıştırılır?
MySQL GTID Replikasyon Lag > 60s Müdahale: Teşhis ve Hızlı Kurtarma
Replica'nın primary'den 60 saniyeden fazla geri kalması durumunda veri kaybı olmadan lag'i kapatma, thread darboğazı (IO vs SQL) tespiti, paralel applier optimizasyonu ve root cause analizi.
MySQL Yanlış DELETE / DROP Sonrası PITR (Point-in-Time Recovery)
Kritik tabloda yanlışlıkla WHERE koşulsuz DELETE, UPDATE veya DROP çalıştırıldığında hata anından 1 saniye öncesine kadar veriyi kayıpsız geri getirme, temp instance ile cerrahi PITR ve binlog flashback adımları.
MySQL Group Replication / InnoDB Cluster: Node Unreachable ve Split-Brain (NO_QUORUM) Kurtarma
MySQL Group Replication veya InnoDB Cluster'da düğümlerin OFFLINE/ERROR düşmesi, çoğunluk (quorum) kaybı ve split-brain durumlarında MySQL Shell veya SQL ile veri kaybı olmadan küme ayağa kaldırma.
Diğer MYSQL Teşhis Scriptleri
Tümünü Gör (100)MySQL'de Uzun Süren Sorguları Bulma
Processlist üzerinden 60 saniyeden uzun süren aktif sorguları listeler. Yavaşlama ve kilitlenme olaylarında hızlı teşhis sağlar.
MySQL InnoDB Kilit Beklemelerini ve Bloklayan Sorguyu Bulma
sys şeması ile bekleyen ve bloklayan oturumları, kilit modlarıyla birlikte gösterir. Hangi işlemin hangisini beklettiğini tek sorguda çözer.
MySQL'de En Büyük Tabloları ve Disk Kullanımını Listeleme
Veri, indeks ve boş alan boyutlarını tablo bazında sıralar. Kapasite planlaması ve arşivleme kararları için temel veridir.
MySQL Kullanılmayan İndeksleri Tespit Etme
sys.schema_unused_indexes ile hiç kullanılmamış indeksleri listeler. Yazma performansını düşüren gereksiz indeksleri güvenle temizlemeye yardımcı olur.