MySQL Server Has Gone Away Hatası Nasıl Çözülür

Son gözden geçirme: Eylül 2026 · cPanel 136 ve MariaDB 10.11 resmi dokümanına göre

Hızlı çözüm

MySQL server has gone away yani mysql has gone away hatası, bağlantı boşta kalıp zaman aşımına (wait_timeout) uğradığında ya da gönderilen sorgu sunucunun izin verdiği paket boyutunu (max_allowed_packet) aştığında çıkar; phpMyAdmin’den büyük bir dosya içe aktarıyorsanız dosyayı bölün, kendi sunucunuzu (VPS/VDS) yönetiyorsanız bu iki değeri my.cnf‘te yükseltip MariaDB’yi yeniden başlatın.

  1. Hangi ortamda çalıştığınızı belirleyin: paylaşımlı hosting + phpMyAdmin mi, VPS/VDS + kendi MariaDB’niz mi.
  2. Paylaşımlıda dosyayı parçalara bölüp phpMyAdmin’den tekrar içe aktarın.
  3. VPS/VDS’te wait_timeout ve max_allowed_packet‘i yükseltip servisi yeniden başlatın.
Panel cPanel (paylaşımlı) ya da SSH (VPS/VDS)
Sistem Paylaşımlı hosting (CloudLinux) ya da VPS/VDS (kendi MariaDB yönetimi)
Yetki cPanel kullanıcısı ya da sunucuda root
Narhost ürünü Web Hosting, VPS Sunucu

Başlamadan önce

  • İçe aktarmadan önce veritabanınızın güncel bir yedeğini alın.
  • Paylaşımlı hostingteyseniz cPanel kullanıcı bilgilerinizle phpMyAdmin’e girebiliyor olmalısınız.
  • VPS/VDS’teyseniz SSH erişiminiz ve my.cnf dosyasının yolunu bilmeniz gerekir; bu sunucu kendi yönetiminizdedir, Narhost dosyayı sizin için düzenlemez.

MySQL has gone away hatası neden olur

MariaDB’nin resmi bilgi bankasına göre sunucu, boşta kalan bir bağlantıyı belirli bir süre (wait_timeout) sonunda kendiliğinden kapatır; bu sürenin aşılmasından sonra gönderilen bir sorgu MySQL server has gone away hatasıyla döner. Aynı hata, gönderilen tek bir sorgu ya da satır sunucunun kabul ettiği max_allowed_packet boyutundan büyükse de görülür; phpMyAdmin’den büyük bir .sql dosyası içe aktarırken en sık rastlanan senaryo budur.

Daha nadir bir sebep, sunucudaki bellek yetersizliğinde işletim sisteminin MariaDB sürecini sonlandırmasıdır (OOM kill); bu durumda hata her sorguda değil, sunucu yük altındayken tekrarlar.

Adım adım mysql server hatası çözümü

Yöntem 1 — Paylaşımlı hosting (phpMyAdmin içe aktarma)

  1. cPanel → Veritabanları → phpMyAdmin‘i açın ve içe aktaracağınız .sql dosyasının boyutunu kontrol edin.
    MySQL has gone away hatası veren büyük içe aktarmalarda kullanılan cPanel Veritabanlarım ve phpMyAdmin erişim ekranı
    Veritabanlarım sayfası; phpMyAdmin bağlantısı buradan açılır.
  2. Dosya büyükse bir metin düzenleyiciyle birkaç parçaya bölün; her parça İçe Aktar sekmesinin gösterdiği yükleme sınırının altında olmalı.
    cPanel phpMyAdmin içe aktarma ekranında dosya boyutu ve zaman aşımı sınırlarının görüldüğü bölüm
    phpMyAdmin İçe Aktar sekmesi; dosya boyutu sınırı ve kısmi içe aktarma seçeneği burada görünür.

    Beklenen sonuç: her parça tek başına hatasız içe aktarılır.

  3. Parçalı içe aktarma da MySQL server has gone away veriyorsa sunucu tarafındaki wait_timeout ya da max_allowed_packet değerinin yükseltilmesi gerekir; paylaşımlı hostingde bu ayar müşteri tarafından değiştirilemez, destek talebi açıp dosya boyutunu ve aldığınız tam hatayı belirtin.

Yöntem 2 — VPS/VDS (kendi MariaDB yönetiminiz)

Dikkat

Servisi yeniden başlatmak o anda MariaDB’ye bağlı tüm uygulamaların bağlantısını kısa süreliğine keser; işlemi düşük trafikli bir saatte yapın.

  1. SSH ile sunucuya bağlanıp /etc/mysql/mariadb.conf.d/ ya da /etc/my.cnf.d/ altındaki yapılandırma dosyasını açın.
  2. [mysqld] bölümüne wait_timeout=600 ve max_allowed_packet=256M satırlarını ekleyin ya da mevcut değerleri yükseltin.
  3. systemctl restart mariadb komutuyla servisi yeniden başlatın.

    Beklenen sonuç: systemctl status mariadb komutu “active (running)” durumunu gösterir.

  4. Sunucu yük altında sık sık aynı hatayı veriyorsa journalctl -k çıktısında “Out of memory” satırı olup olmadığını kontrol edin; varsa sorun bellek yetersizliğidir.

Doğrulama

Sonuç

Paylaşımlıda içe aktarma “başarıyla tamamlandı” mesajıyla bitiyorsa, VPS/VDS’te ise uygulamanız yeniden bağlanıp sorgu çalıştırabiliyorsa mysql has gone away hatası giderilmiş demektir. VPS’te SHOW VARIABLES LIKE 'wait_timeout'; komutuyla yeni değeri de doğrulayabilirsiniz.

Hâlâ çözülmediyse

Narhost desteği

Paylaşımlı hostingteyseniz destek talebine dosya boyutunu, aldığınız tam hata satırını ve hatanın içe aktarma mı yoksa uygulama tarafında mı çıktığını ekleyin; sunucu tarafı bir ayar değişikliği gerekiyorsa bunu ekibimiz yapar.

Destek talebi aç

Sıkça sorulan sorular

wait_timeout değerini kendim öğrenebilir miyim?

VPS/VDS’te SHOW VARIABLES LIKE 'wait_timeout'; komutuyla görürsünüz; paylaşımlı hostingde bu değer sunucu tarafında tutulur ve panelden görüntülenmez.

Neden büyük bir dosyayı tek seferde içe aktaramıyorum?

phpMyAdmin’in yükleme boyutu ve sunucunun paket sınırı belirli bir üst değerin üzerine çıkmaz; dosyayı bölmek ya da komut satırından (VPS’te) içe aktarmak bu sınırı aşar.

MariaDB yeniden başlatıldığında veri kaybı olur mu?

Hayır, servis yeniden başlatma yalnızca çalışan süreci sıfırlar; disk üzerindeki tablo verileri değişmez. Bağlı uygulamalar birkaç saniyeliğine bağlantısını kaybeder ve otomatik olarak yeniden dener.

Bu makale sorununuzu çözdü mü?

Çözemediniz mi?

Teknik ekibimiz sunucu tarafındaki ayarları sizin için kontrol edebilir. Destek talebinizde alan adınızı ve aldığınız hata metnini paylaşmanız süreci hızlandırır.

İlgili çözümler