7/24 Türkçe destek:[email protected]Sistem durumuDestek talebi

Büyük SQL Dosyası İçe Aktarma (phpMyAdmin Limiti Aşımı)

Okuma süresi: 3 dk

Kısa yanıt: Dosyayı .sql.gz olarak sıkıştırıp cPanel › Yedekleme › “MySQL Veritabanı Yedeğini Geri Yükle” bölümünden yükleyin. Dosya bu yöntemle de yüklenemiyorsa dosyayı bölerek aktarın veya destek talebi açın; paylaşımlı hostingte SSH olmadığından mysql komutu yalnızca VPS ve VDS’te kullanılabilir.

Bu rehber kimin için: Taşıma yapan site sahipleri ve geliştiriciler · Gereken süre: 15 dakika · Seviye: Orta

phpMyAdmin, PHP’nin dosya yükleme ve çalışma süresi sınırlarıyla çalışır. Yüzlerce megabaytlık bir veritabanı yedeği bu sınırları aşar ve içe aktarma ya yüklemede ya da yarıda zaman aşımına uğrar. Sıkıştırma dosyayı küçülterek sınırın altına inmenizi sağlar; komut satırından içe aktarma ise PHP sınırlarına hiç takılmaz.

İçe aktarma yolları

  1. Sıkıştırın: .sql dosyasını gzip ile sıkıştırın; metin dosyaları genellikle onda birine kadar küçülür.
  2. Hedef veritabanını hazırlayın: Boş bir veritabanı ve kullanıcı oluşturun; MySQL veritabanı oluşturma rehberine bakın.
  3. cPanel geri yükleme: Yedekleme › “Bir MySQL Veritabanı Yedeğini Geri Yükle” ile .sql.gz dosyasını yükleyin; dosyadaki veritabanı adı hedefle aynı olmalıdır.
  4. FTP ile yükleme: Dosyayı ana dizine (public_html dışına) yükleyin.
  5. VPS’te komutla içe aktarma: mysql -u hesap_kullanici -p hesap_wp < yedek.sql veya sıkıştırılmışsa gunzip < yedek.sql.gz | mysql -u hesap_kullanici -p hesap_wp.
  6. Doğrulayın: phpMyAdmin’de tablo sayısını ve kayıt sayılarını kaynakla karşılaştırın.
  7. Dosyayı silin: İçe aktarma bitince yedek dosyasını sunucudan kaldırın.

Sık hatalar

  • #1044 Access denied for database: Dosyada CREATE DATABASE satırı var; bu satırı silin ve önce hedef veritabanını seçin.
  • #1273 Unknown collation utf8mb4_0900_ai_ci: MySQL 8 yedeği MariaDB’ye aktarılıyor; dosyadaki collation adını utf8mb4_unicode_ci ile değiştirin.
  • Türkçe karakterler bozuk: Karakter seti uyumsuz; Türkçe karakter sorunu rehberine bakın.

Hâlâ çözülmediyse

Paylaşımlı hostingte SSH erişimi olmadığından dosya cPanel’den de yüklenemiyorsa destek talebi açın; dosyayı sizin için içe aktarabiliriz. Taşımanın tamamını bize bırakmak için ücretsiz site taşıma hizmetimizden yararlanın.

Sık sorulan sorular

BigDump gibi betikler güvenli mi?

İş görür ama işlem bitince betiği mutlaka silin; açık kalırsa güvenlik riski oluşturur.

Dosyayı bölebilir miyim?

Evet; ancak tablo tanımlarının ve kayıtların bütünlüğünü korumak için komut satırı daha güvenlidir.

“#1227 Access denied; you need the SUPER privilege” hatası alıyorum.

Yedek dosyasında başka bir sunucunun kullanıcısına bağlı DEFINER ifadeleri (görünüm, tetikleyici, saklı yordam) ya da SET @@GLOBAL ile başlayan yönetici ayarları vardır. Paylaşımlı hostingte bu yetki verilmez. Dosyadaki DEFINER kısımlarını silin ya da kendi önekli kullanıcınızla değiştirin, SET @@GLOBAL satırlarını kaldırın ve yeniden içe aktarın.

İçe aktarma “MySQL server has gone away” hatasıyla yarıda kalıyor.

Genellikle dosyadaki tek bir INSERT satırı sunucunun kabul ettiği en büyük paket boyutunu aşıyordur ya da bağlantı zaman aşımına uğruyordur. Yedeği phpMyAdmin’in “Özel” dışa aktarmasında daha kısa sorgularla yeniden alın ya da dosyayı bize iletin; VPS’te max_allowed_packet değerini yükseltebilirsiniz.

phpMyAdmin içe aktarmayı yarıda kesip devam ettirebilir miyim?

İçe Aktar ekranındaki kısmi içe aktarma seçeneği, işlem PHP süre sınırına yaklaşınca aktarmayı durdurur ve aynı dosyayı yeniden yüklediğinizde kaldığı yerden devam edilmesini sağlar. Bu yöntem işlemleri bölebileceği için sipariş gibi tutarlılığı önemli verilerde cPanel geri yükleme ya da komut satırı daha güvenlidir.

İlgili rehberler