WordPress sitenizi bir cPanel’den diğerine taşırken, özellikle veritabanında karşılaşılan en yaygın sorunlardan biri primary key yapısının bozulması ve auto increment özelliğinin çalışmamasıdır. Bu tür sorunlar, sitenizin düzgün çalışmasını engelleyebilir ve ciddi performans sorunlarına yol açabilir. Bu makalede, bu sorunların neden oluştuğunu, nasıl düzeltilebileceğini ve gelecekte nasıl önlenebileceğini ele alacağız.
Sorunun Nedenleri
- Eksik veya Hatalı Veritabanı Yedekleme: Veritabanı yedeklemesi sırasında primary key bilgileri veya auto increment ayarları düzgün aktarılmayabilir. Eksik veya bozuk SQL dosyaları bu hatalara neden olabilir.
- Farklı Veritabanı Motorları: MySQL’in farklı sürümleri veya MariaDB gibi alternatif veritabanı motorları arasında uyumsuzluk yaşanabilir.
- Manuel Müdahaleler: Veritabanı tablolarında manuel değişiklikler yapıldığında, primary key ve auto increment ayarları zarar görebilir.
- PHPMyAdmin’in Kısıtlamaları: PHPMyAdmin kullanılarak yapılan bazı taşıma işlemleri sırasında CREATE TABLE komutları tam olarak çalışmayabilir.
Sorunun Belirtileri
- WordPress’teki belirli sayfalara erişim hatası (örneğin, “Error establishing a database connection” veya “table doesn’t exist”).
- Yeni içerik eklerken veya mevcut içeriği güncellerken hata mesajları.
- Veritabanında bazı tabloların auto increment özelliğinin devre dışı olması.
- Primary key eksikliği nedeniyle ilişkisel veritabanı sorgularının başarısız olması.
Çözüm Yolları
1. Primary Key Ayarlarının Düzeltilmesi
Primary key eksikliğini gidermek için şu adımları izleyebilirsiniz:
- PHPMyAdmin’e Giriş Yapın: cPanel üzerinden PHPMyAdmin’e erişin.
- Sorunlu Tabloyu Seçin: Hangi tabloda sorun olduğunu belirleyin (genellikle kullanıcılar veya gönderiler tablosu).
- Primary Key’i Yeniden Oluşturun: Tablo yapısı ekranında, ilgili sütunu seçin ve Primary Key olarak ayarlayın. Örnek SQL komutu:
ALTER TABLE tablo_adı ADD PRIMARY KEY (id);
2. Auto Increment Sorununu Çözmek
Auto increment özelliğini yeniden etkinleştirmek için:
- Auto Increment’i Manuel Ayarlayın: Tablo yapısını düzenlerken, id sütununu seçin ve A_I (Auto Increment) seçeneğini işaretleyin. Alternatif olarak şu SQL komutunu kullanabilirsiniz:
ALTER TABLE tablo_adı MODIFY id INT NOT NULL AUTO_INCREMENT;
- Tabloyu Tekrar Yükleyin (Gerekirse): Eğer yukarıdaki yöntem işe yaramazsa, sorunlu tabloyu silip yeniden yüklemeniz gerekebilir. Öncelikle tabloyu yedekleyin:
CREATE TABLE yeni_tablo AS SELECT * FROM eski_tablo;\nDROP TABLE eski_tablo;\nALTER TABLE yeni_tablo RENAME TO eski_tablo;
3. Tüm Veritabanını Optimize Edin
PHPMyAdmin’deki Check Table ve Repair Table seçeneklerini kullanarak veritabanını optimize edin:
REPAIR TABLE tablo_adı;
Sorunları Önleme Yöntemleri
- Doğru Yedekleme Araçları Kullanma: cPanel’in kendi yedekleme aracını veya mysqldump komutunu tercih edin:
mysqldump -u kullanıcı_adı -p veritabanı_adı > yedek.sql
- Veritabanını Kontrol Etme: Taşıma işleminden önce tüm tabloları kontrol edin ve optimize edin.
- MySQL ve MariaDB Uyumluluğunu Doğrulama: Taşıma yapılan sunucularda aynı sürümde MySQL/MariaDB kullanmaya özen gösterin.
- WP-CLI Kullanımı: WordPress yönetimi için WP-CLI kullanarak taşıma işlemini daha güvenilir hale getirebilirsiniz:
wp db export yedek.sql\nwp db import yedek.sql
Sonuç
WordPress taşıma işlemlerinde primary key ve auto increment sorunları can sıkıcı olabilir, ancak yukarıda belirtilen yöntemlerle bu sorunları kolayca çözebilirsiniz. Ayrıca, taşıma işlemlerinden önce doğru yedekleme ve kontrol adımlarını takip ederek bu tür sorunların önüne geçebilirsiniz. Bu süreçlerin SEO üzerindeki etkisini minimize etmek için veritabanı yapısını düzgün bir şekilde onarmak, sitenizin performansını ve kullanıcı deneyimini olumlu yönde etkiler.
Leave a reply