MySQL veritabanlarında zaman zaman donanımsal arızalar, kesintiler ya da beklenmeyen kapanmalar nedeniyle tablolar zarar görebilir. Bu gibi durumlarda SSH üzerinden bağlanarak tabloları onarmak, veri bütünlüğünü sağlamak adına oldukça etkili bir yöntemdir. Özellikle InnoDB yerine MyISAM tabanlı tablolar kullanılıyorsa, tablo bozulmaları daha yaygın olabilir. Bu rehberde, SSH ile bağlantı kurarak MySQL tablolarının nasıl onarılacağını adım adım ele alıyoruz.
Öncelikle SSH üzerinden sunucunuza bağlanmanız gerekir. Windows kullanıyorsanız PuTTY, macOS veya Linux kullanıyorsanız Terminal uygulamasını açarak aşağıdaki komutu girin:
ssh root@sunucu-ip-adresi
Bağlantı kurulduktan sonra, MySQL’e root ya da yetkili kullanıcı ile giriş yapın:
mysql -u root -p
Şifreyi girdikten sonra MySQL istemcisine bağlanmış olacaksınız.
Aşağıdaki komutu kullanarak onarmak istediğiniz veritabanını seçin:
sqlKopyalaDüzenleUSE veritabani_adi; Veritabanındaki mevcut tabloları görmek için:
sqlKopyalaDüzenleSHOW TABLES; Tek bir tabloyu onarmak için:
sqlKopyalaDüzenleREPAIR TABLE tablo_adi;
Birden fazla tabloyu onarmak için:
sqlKopyalaDüzenleREPAIR TABLE tablo1, tablo2, tablo3;
Alternatif olarak, MySQL istemcisinden çıkıp doğrudan shell üzerinden mysqlcheck aracı da kullanılabilir:
bashKopyalaDüzenlemysqlcheck -u root -p --repair veritabani_adi
Bu komut tüm tabloları kontrol eder ve gerekirse onarır.
REPAIR TABLE komutu çalışmaz. Onarım için innodb_force_recovery gibi gelişmiş yöntemler gerekir.Eğer REPAIR TABLE komutu aşağıdaki gibi bir hata veriyorsa:
sqlKopyalaDüzenleTable does not support repair
Bu, tablonun InnoDB motoru kullandığını gösterir. InnoDB tablolar için REPAIR TABLE yerine aşağıdaki yöntemleri düşünebilirsiniz:
innodb_force_recovery Kullanımı:MySQL yapılandırma dosyasında (genellikle /etc/my.cnf) [mysqld] bloğuna aşağıdaki satır eklenebilir:
iniKopyalaDüzenleinnodb_force_recovery = 1
⚠️ Not: Bu ayar geçici olarak kullanılmalı, veri kurtarıldıktan sonra kaldırılmalıdır.
Eğer sunucunuzda PhpMyAdmin kuruluysa ve SSH erişiminiz yoksa, şu adımlarla tablo onarma yapılabilir:
Hazır e-posta hizmetlerinin ücretleri arttığı için, kendi alan adınıza ait bir mail sunucusu kurmak hem…
Açık kaynaklı Proxmox VE yüksek performansıyla sanallaştırma alanında sık tercih edilen bir platformdur. Veri yedekleme…
DNS, yani Alan Adı Sistemi, internetin temel yönlendirme mekanizmasıdır. Kullanıcı bir web adresi yazdığında, örneğin…
Veritabanını seçmenin performans, lisans ve güvenlik gibi konularda yarattığı zorlukları biliyoruz. Bu seçimi kolaylaştırmak için,…
Snapshot Nedir? Snapshot, bir sanal sunucunun (VM) mevcut çalışma hali, disk yapısı ve yapılandırmasının o…
Sunucu yönetiminde yeni sürümlere geçiş, her zaman iş sürekliliği için kritik bir adımdır. Proxmox VE…