[MAKALE] - Büyük Mysql Dosyalarını Import Etmek

Bu konuyu okuyanlar

OfisSoft

Asistan
Katılım
14 Ekim 2008
Mesajlar
135
Reaksiyon puanı
4
Puanları
0
Boyutu büyük olan mysql dosyasını başka bir sunucuya kurmanız gerektiğinde post_max_size, upload_max_filesize vb. php konfigürasyonunda tanımlanan değerlerden dolayı sorun yaşarsınız. Bu sorunu php.ini ayarlarını değiştirerek çözmeniz mümkün. Ancak sürekli php.ini ayarlarını değiştirerek limit arttırımına gitmek hem sağlıklı bir yöntem değil hem de zaman kaybettirir. Ayrıca paylaşımlı hosting kullandığınızda root erişiminiz olmadığından php.ini dosyasına müdahale etmenizde mümkün olmayacaktır. Boyutu büyük olan dosyaları kurmak için ben 2 yöntem kullanıyorum.

1. BIGDUMP

Bu tek dosyalık script'in boyutu küçük ama yaptığı iş çok büyük. O yüzden "Seviyorum seni BigDump" demek istiyorum. :) Bu script'i indirdiğinizde bigdump.php isminde tek bir dosya olduğunu göreceksiniz. Kaynak kodları açıp aşağıda belirttiğim satırları kendinize göre düzenleyebilirsiniz.

PHP:
$db_server   = 'localhost';
$db_name     = 'webdeders_veritabani_adi';
$db_username = 'webdeders_kullanici_adi';
$db_password = 'kullanici_sifresi'; 
$filename    = 'import_edilecek_dosya.sql';

bu satırları düzenledikten sonra sql dosyanızı ve bigdump.php dosyasını ftp'ye upload ederek browser'dan çalıştırabilirsiniz. Anlık olarak ajax yöntemiyle import işleminin ne kadar zamanı kaldığını da ekranda göreceksiniz. Burada güvenliğiniz için işiniz bittikten sonra .sql dosyanızı ve bigdump.php dosyasını ftp'den silmeyi unutmayın. Ayrıca bigdump.php dosyasını da ismini değiştirerek upload etmenizi öneririm.

Örnek :

Sunucuda /home/webdeders/public_html dizinine webdeders_backup.sql isminde bir dosya upload edilmiş olsun. webdeders_user isminde bir mysql kullanıcısı olduğunu düşünün. Bu kullanıcının yetkili olduğu webdeders_db isminde bir veritabanı bulunsun. Bunun için öncelikle bigdump.php dosyasını :

PHP:
$db_server   = 'localhost';
$db_name     = 'webdeders_db';
$db_username = 'webdeders_user';
$db_password = '123456'; 
$filename    = 'webdeders_backup.sql';

bu şekilde düzenliyoruz. Ardından dosyayı /home/webdeders/public_html dizinine upload ediyoruz ve çalıştırıyoruz.

BigDump dosyasını indirmek için buraya tıklayın.

2. SSH İLE KOMUT SATIRINDAN

Bu yöntemi kullanabilmek için sunucuya SSH bağlantısı kurabilmeniz gerekiyor. İlk olarak veritabanının .sql dosyasını sunucuda herhangi bir dizine upload etmelisiniz. (/home/webdeders/veritabani_adi.sql vb.) Ardından putty vb. programla SSH bağlantısı kuralım. Bağlandıktan sonra;

PHP:
mysql -u kullanici_adi -p veritabani_adi < sql_dosya_dizini

şablonunu kendi bilgilerinize göre düzenleyerek çalıştırdığınızda sizden mysql kullanıcının şifresini girmeniz istenecektir. Şifreyi girdikten sonra belirttiğiniz veritabanı içine kayıtlar, tablolar aktarılmaya başlanacaktır.

Örnek :

Sunucuda /home/webdeders/ dizinine webdeders_backup.sql isminde bir dosya upload edilmiş olsun. webdeders_user isminde bir mysql kullanıcısı olduğunu düşünün. Bu kullanıcının yetkili olduğu webdeders_db isminde bir veritabanı bulunsun. Bu veritabanına sql import etmek için :

PHP:
mysql -u webdeders_user -p webdeders_db < /home/webdeders/webdeders_backup.sql

komutunu çalıştırmanız yeterli olacaktır.

KAYNAK : http://www.webteders.com/blog/detay/Buyuk-Mysql-Dosyalarini-Import-Etmek/54
 
Üst