dataiotech Labs
dbaguidedbaguideDBAdataxtoolsdataopsphere
Script #36
mysql
Monitoringread-onlyMin Version: 5.7

MySQL AUTO_INCREMENT Kolonlarında Taşma Riski

Auto-increment kolonlarının veri tipi sınırına yüzde kaç yaklaştığını hesaplar. Sınıra ulaşıldığında yazmalar duracağı için erken uyarı sağlar.

#auto-increment#overflow#capacity
mysql · sql
SELECT table_schema, table_name, column_name, column_type, auto_increment,
       max_val, ROUND(100 * auto_increment / max_val, 2) AS pct_used
FROM (
  SELECT t.table_schema, t.table_name, c.column_name, c.column_type, t.auto_increment,
    CASE
      WHEN c.column_type LIKE 'tinyint%unsigned'   THEN 255
      WHEN c.column_type LIKE 'tinyint%'           THEN 127
      WHEN c.column_type LIKE 'smallint%unsigned'  THEN 65535
      WHEN c.column_type LIKE 'smallint%'          THEN 32767
      WHEN c.column_type LIKE 'mediumint%unsigned' THEN 16777215
      WHEN c.column_type LIKE 'mediumint%'         THEN 8388607
      WHEN c.column_type LIKE 'int%unsigned'       THEN 4294967295
      WHEN c.column_type LIKE 'int%'               THEN 2147483647
      WHEN c.column_type LIKE 'bigint%unsigned'    THEN 18446744073709551615
      ELSE 9223372036854775807
    END AS max_val
  FROM information_schema.tables t
  JOIN information_schema.columns c
    ON c.table_schema = t.table_schema AND c.table_name = t.table_name AND c.extra LIKE '%auto_increment%'
  WHERE t.auto_increment IS NOT NULL
    AND t.table_schema NOT IN ('mysql','sys','information_schema','performance_schema')
) x
ORDER BY pct_used DESC
LIMIT 20;
Operasyonel Notlar & İyileştirme Aksiyonu

Üretim ortamında çalıştırmadan önce test ortamında doğrulayın. Salt okunur teşhis sorgusudur; sistem kilitlerine yol açmaz.

Üretim Güvenliği & Çalıştırma Standartları
  • 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: 5.7) 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.