Linux Veri Tabanı Onarma (SSH)

Merhaba,

Bu yazımızda sizlere SSH üzerinden MySQL veritabanı onarma işlemini adım adım anlatacağız.
Zaman zaman veritabanlarında tabloların bozulması, indeks hataları veya dosya yapısının zarar görmesi gibi durumlar yaşanabilir.
Özellikle büyük veritabanlarında bu tür onarım işlemleri web paneller (örneğin phpMyAdmin) üzerinden yapmak hem riskli hem de yavaş olabilir.

Bu nedenle, SSH bağlantısı üzerinden doğrudan komut satırında işlem yapmak çok daha güvenli ve hızlı bir çözümdür.
Aşağıda, MySQL veritabanınızı onarmak için kullanabileceğiniz komutları ve açıklamalarını bulabilirsiniz.

1. Standart MySQL Veritabanı Onarma

MySQL veritabanını onarmak için mysqlcheck aracını kullanabilirsiniz.
Aşağıdaki komut, belirtilen veritabanındaki tabloları kontrol eder ve bozuk olanları onarır:

mysqlcheck -r [veritabanı_adı]

Açıklama:

  • -r → (repair) onarım işlemi anlamına gelir.

  • [veritabanı_adı] → onarmak istediğiniz veritabanının adını buraya yazın.

Örnek:

mysqlcheck -r firma_db

Bu komut, firma_db adlı veritabanındaki tüm tabloları kontrol eder ve bozuk olanları otomatik olarak onarır.

2. myisamchk Aracı ile Onarım

Eğer yukarıdaki komut işe yaramazsa, MyISAM tablolarını onarmak için alternatif olarak myisamchk aracını kullanabilirsiniz.

myisamchk -r /var/lib/mysql/[veritabanı_adı]/*

Açıklama:

  • -r → onarım modunu başlatır.

  • /var/lib/mysql/[veritabanı_adı]/ → tabloların fiziksel olarak bulunduğu dizindir.

Örnek:

myisamchk -r /var/lib/mysql/musteri_db/*

⚠️ Dikkat:
Bu komutu çalıştırmadan önce MySQL servisinin kapalı olması gerekir.
Aksi halde dosya erişim hatası alabilirsiniz. Servisi durdurmak için:

systemctl stop mysql

Onarım tamamlandıktan sonra yeniden başlatmak için:

systemctl start mysql

3. Tüm Veritabanlarını Toplu Olarak Onarmak

Sunucunuzda birden fazla veritabanı varsa, her birini tek tek onarmak zaman alabilir.
Tüm veritabanlarını otomatik olarak onarmak için şu komutu kullanabilirsiniz:

mysqlcheck --repair -A

Açıklama:

  • --repair → tüm tabloları onarır.

  • -A → sunucudaki tüm veritabanlarını kapsar.

4. Veritabanlarını Optimize Etmek

Onarım işleminin ardından tabloları optimize etmek, performans açısından oldukça faydalıdır.
Aşağıdaki komut, tüm veritabanlarındaki tabloları optimize eder:

mysqlcheck --optimize -A

Açıklama:

  • --optimize → tabloları yeniden düzenler, kullanılmayan alanları temizler.

  • -A → tüm veritabanlarını dahil eder.

Bu işlem, veritabanının daha hızlı sorgu çalıştırmasına yardımcı olur.

5. Root Şifresiyle Onarım İşlemi

Bazı durumlarda root yetkisiyle doğrudan onarım yapmak gerekebilir.
Aşağıdaki komut, root kullanıcı bilgileriyle tüm veritabanlarını onarır:

mysqlcheck -A -h localhost -u root -r -p

Komut çalıştırıldığında sizden MySQL root parolanız istenecektir.

Ek İpuçları

  • Yedek almadan veri tabanı onarma yapmayın:
    Herhangi bir onarım işlemine başlamadan önce mutlaka veritabanınızın yedeğini alın.

    mysqldump -u root -p dbadi > yedek.sql
    
  • Otomatik bakım:
    Bu komutları cron job olarak zamanlayarak veritabanı bakımını düzenli hale getirebilirsiniz.

  • Hata loglarını inceleyin:
    Onarım sonrası hâlâ sorun yaşıyorsanız /var/log/mysql/error.log dosyasını kontrol edin.

Sonuç

Bu yazımızda SSH üzerinden MySQL veritabanlarını nasıl onarabileceğinizi adım adım öğrendik.
Büyük veritabanlarında doğrudan SSH ile çalışmak hem daha hızlı hem de güvenli bir yöntemdir.
Düzenli bakım ve optimize işlemleriyle veritabanı performansınızı uzun vadede koruyabilirsiniz.

Bir sonraki yazımızda MySQL performans artırma yöntemleri konusuna değineceğiz.
Görüşmek üzere! 👋

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir