Skip to content

mysqlcheck ile Veritabanı Optimize Etme ve Onarma

Bu yazıda MySQL ve MariaDB veritabanı tablolarını kontrol eden, analiz eden, onaran ve optimize eden komut satırı aracı mysqlcheck‘den bahsedeceğim. Kısım kısım kullanımını inceleyelim.

Veritabanındaki Bir Tabloyu Kontrol Etme

blog veritabanındaki yazilar tablosunu kontrol etmek için aşağıdaki komut kullanılır:

$ mysqlcheck -c blog yazilar
blog.yazilar                         OK # Bu da çıktısı

Eğer veritabanınız şifre ile korunuyorsa

-u root -p

kısmını komutunuzun sonuna ekleyin:

$ mysqlcheck -c blog yazilar -u root -p
Enter password:
blog.yazilar                         OK

Veritabanındaki Bir Tabloyu Analiz Etme

Aşağıdaki komut ile blog veritabanındaki yazılar tablosunu analiz edebilirsiniz:

$ mysqlcheck -a blog yazilar
blog.yazilar                         OK

Eğer MySQL veya MariDB sunucunuz uzak bir sunucuda çalışıyorsa komutunuzun sonuna

-h

ekleyerek uzak sunucu adresini girin:

$ mysqlcheck -a blog yazilar -h uzaksunucu.com
blog.yazilar                         OK

Bütün Veritabanlarındaki Bütün Tabloları Analiz Etme

$ mysqlcheck -o --all-databases
blog.kullanicilar
note     : Table does not support optimize, doing recreate + analyze instead
status   : OK
mysql.time_zone_transition_type                    Table is already up to date

Bu komutun çıktısında yazan

Table does not support optimize, doing recreate + analyze instead

bu ifadeden şunu anlamalıyız. Optimize etmeye çalıştığımız tablonun depolama motoru InnoDB imiş. InnoDB tabloyu optimize etmeye çalıştığınızda yeni bir tablo oluşturulur, optimize ettiğiniz tablonun bütün satırları yeni tabloya kopyalanır, eski tablo silinir ve yeni tablonun ismi yeniden eskisi ile aynı olacak şekilde güncellenir ve en sonunda ANALYZE komutu çalıştırılır tabloda.

Table is already up to date

çıktısı ile de tablonun durumunun güncel olduğunu ve işlem yapmaya gerek olmadığını belirtir.

Birden Fazla Veritabanını Onarma

Aşağıdaki komut ile hem blog hemde blog2 tablosunu aynı anda onarabilirsiniz:

$ mysqlcheck -r --databases blog blog2

Eğer bu komutu çalıştırdığınızda

 note : The storage engine for the table doesn't support repair

uyarısını görürseniz anlayın ki ilgili tablonun da depolama motoru InnoDB’dir.

Bütün Veritabanlarını Optimize Edip Onarma

Aşağıdaki komut sunucunuzda ki bütün veritabanlarını kontrol edecektir ve bozulmuş olan varsa otomatik olarak onaracaktır. :

$ mysqlcheck --auto-repair -o --all-databases

Umarım işinize yarar, sorularınızı yorum olarak sorabilirsiniz,

TR Kodlama GitHub'da!

TR Kodlama'da yer alan makaleleri GitHub üzerinden düzenleyebileceğinizi biliyor muyudunuz? Harika değil mi? Bu makale ile ilgili düzenleme yapmak isterseniz aşağıdaki butona tıklayınız!

GitHub'da Görüntüle ve Düzenle!