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:
1 2 |
$ mysqlcheck -c blog yazilar blog.yazilar OK # Bu da çıktısı |
Eğer veritabanınız şifre ile korunuyorsa
1 |
-u root -p |
kısmını komutunuzun sonuna ekleyin:
1 2 3 |
$ 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:
1 2 |
$ mysqlcheck -a blog yazilar blog.yazilar OK |
Eğer MySQL veya MariDB sunucunuz uzak bir sunucuda çalışıyorsa komutunuzun sonuna
1 |
-h |
ekleyerek uzak sunucu adresini girin:
1 2 |
$ mysqlcheck -a blog yazilar -h uzaksunucu.com blog.yazilar OK |
Bütün Veritabanlarındaki Bütün Tabloları Analiz Etme
1 2 3 4 5 |
$ 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
1 |
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.
1 |
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:
1 |
$ mysqlcheck -r --databases blog blog2 |
Eğer bu komutu çalıştırdığınızda
1 |
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. :
1 |
$ mysqlcheck --auto-repair -o --all-databases |
Umarım işinize yarar, sorularınızı yorum olarak sorabilirsiniz,
Yorumlar