MySQL veya MariaDB veritabanlarında karşılaşılan yaygın hatalardan biri olan “Got error -1 from storage engine” hatası, depolama motorundan hata alındığını belirtir. Bu hata, çeşitli nedenlerle meydana gelebilir ve çözümü hatanın nedenine göre değişir.
Hatanın nedenleri
Bu hatanın başlıca nedenleri şunlardır:
- Depolama motorunun bozulması: Depolama motorunun bozulması, bu hatanın en yaygın nedenlerinden biridir. Bu, veritabanının veya depolama motorunun dosyalarının bozulması, depolama motorunun yanlış yapılandırılması veya depolama motorunun desteklenmeyen bir sürümünün kullanılması gibi nedenlerden dolayı meydana gelebilir.
- Disk alanının yetersizliği: Depolama motoru, veritabanı dosyalarını depolamak için disk alanı kullanır. Disk alanının yetersiz olması, depolama motorunun hata vermesine neden olabilir.
- Sorgunun geçersizliği: Gönderilen sorgu geçersiz veya hatalı ise, bu da bu hataya neden olabilir.
Hatanın çözümü
Bu hatayı çözmek için aşağıdaki adımları uygulayabilirsiniz:
- Depolama motorunun bozulması kontrolü: Depolama motorunun bozulup bozulmadığını kontrol etmek için aşağıdaki komutu kullanın:
mysqladmin -u root -p status
Bu komut, veritabanı durumunu görüntüler. “InnoDB: Error: 1114: The table table_name
is marked as crashed and should be repaired” mesajı görürseniz, depolama motoru bozulmuş demektir.
- Disk alanının yeterliliği kontrolü: Disk alanının yeterli olup olmadığını kontrol etmek için aşağıdaki komutu kullanın:
df -h
Bu komut, disk alanınızı görüntüler. “/var/lib/mysql” klasörünün boyutunu kontrol edin. Bu klasör, MySQL veya MariaDB veritabanlarının dosyalarını depolar.
- Sorgunun geçersizliği kontrolü: Sorgunun geçersiz olup olmadığını kontrol etmek için aşağıdaki komutu kullanın:
mysql -u root -p -e "show warnings"
Bu komut, veritabanı uyarılarını görüntüler. “Warning: Statement is not a valid SQL statement” mesajı görürseniz, sorgunuz geçersiz demektir.
Hatanın çözümü için örnek adımlar
Depolama motorunun bozulması
Depolama motorunun bozulması durumunda, aşağıdaki adımları uygulayabilirsiniz:
- Veritabanını yedekleyin.
- Veritabanını kapatın.
- Bozuk tabloları onarın.
- Veritabanını açın.
Disk alanının yetersizliği
Disk alanının yetersiz olması durumunda, aşağıdaki adımları uygulayabilirsiniz:
- Veritabanı dosyalarını depolamak için daha fazla disk alanı sağlayın.
- Veritabanı dosyalarını sıkıştırın.
Sorgunun geçersizliği
Sorgunun geçersiz olması durumunda, aşağıdaki adımları uygulayabilirsiniz:
- Sorguyu düzeltin.
Sonuç
“Got error -1 from storage engine” hatası, MySQL veya MariaDB veritabanlarında karşılaşılan yaygın bir hatadır. Bu hatanın çözümü hatanın nedenine göre değişir. Yukarıda belirtilen adımları uygulayarak bu hatayı çözebilirsiniz