Categories: FreebsdLinux

SSH üzerinden mysql veritabanı tablolarını onarma

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.

SSH ile Sunucuya Bağlanın

Ö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.

İlgili Veritabanını Seçin

Aşağıdaki komutu kullanarak onarmak istediğiniz veritabanını seçin:

sqlKopyalaDüzenleUSE veritabani_adi;

Tabloları Listeleyin

Veritabanındaki mevcut tabloları görmek için:

sqlKopyalaDüzenleSHOW TABLES;

Tabloları Onarma Komutu

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.

Dikkat Edilmesi Gerekenler

  • InnoDB tablolarında REPAIR TABLE komutu çalışmaz. Onarım için innodb_force_recovery gibi gelişmiş yöntemler gerekir.
  • Bu işlemler öncesinde yedek almanız şiddetle önerilir. Yanlış bir komut, veri kaybına neden olabilir.
  • Eğer tablo çok büyükse, onarma işlemi zaman alabilir.

Belirli Hataların Giderilmesi

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.

Alternatif Yöntem: PhpMyAdmin Üzerinden Onarma

Eğer sunucunuzda PhpMyAdmin kuruluysa ve SSH erişiminiz yoksa, şu adımlarla tablo onarma yapılabilir:

  • PhpMyAdmin paneline giriş yapın.
  • Sol menüden ilgili veritabanını seçin.
  • Bozuk olduğunu düşündüğünüz tabloları işaretleyin.
  • Sayfanın alt kısmındaki “Seçili olanları:” menüsünden Onar komutunu seçin.
pendc

Recent Posts

MySQL ve MariaDB Arasındaki Temel Farklar

Veritabanını seçmenin performans, lisans ve güvenlik gibi konularda yarattığı zorlukları biliyoruz. Bu seçimi kolaylaştırmak için,…

2 hafta ago

Proxmox’da Otomatik Snapshot Nasıl Alınır?

Snapshot Nedir? Snapshot, bir sanal sunucunun (VM) mevcut çalışma hali, disk yapısı ve yapılandırmasının o…

2 hafta ago

Proxmox VE 8.4’ten 9’a Nasıl Geçilir?

Sunucu yönetiminde yeni sürümlere geçiş, her zaman iş sürekliliği için kritik bir adımdır. Proxmox VE…

2 hafta ago

Zabbix ile VMware vSphere İzleme Nasıl Yapılır ?

Sanallaştırma ortamlarında en çok kullanılan platformlardan biri VMware vSphere’dir. Ancak sistem doğru izlenmezse performans sorunları,…

4 hafta ago

VMware vSphere Foundation 9.0 Beta Sürümü Yayında

IT ekiplerinin karşılaştığı en büyük sorunlardan biri, farklı araç ve sistemler yüzünden operasyonların karmaşık hale…

4 hafta ago

Fidye Yazılımı Saldırılarından Korunma

Fidye Yazılımı Saldırısı Nedir? Fidye yazılımı saldırısı (ransomware) kötü niyetli kişilerin, belirli bir sistemin, dosyalarını…

3 ay ago