Anasayfa »
Bilgisayardaki SQL Dosyasını Terminalden Sunucu Veritabanına Göndermek
Yazar:
Ali Arslan
Kimi zaman SQL dosyasının boyutunun çok yüksek olmasından dolayı direkt olarak web arayüzü üzerinden yüklemek mümkün olamamaktadır. Http isteğinin data boyutu kısıtlamaları veya PHPMyAdmin tarzı, tarayıcı üzerinden veritabanının yönetildiği durumlarda config ayalarından kaynaklı kısıtlamalar, SQL dosyanızı sunucunuza yüklemeye izin vermeyebiliyor. Bunun için ya Navicat tarzı bir masaüstü veritabanı yönetim arayüzü kullanmanız gerekmektedir yada terminal üzerinden işinizi halletmeniz gerekmektedir.
Bu işlemleri Linux ve Mac cihazlarda sorunsuz bir şekilde gerçekleştirebilirsiz. Bilgisayarnızdan direkt olarak SQL dosyasını terminal ile sunucuyadaki veritabanına import etmek mümkün fakat, bazen dosya izinleri buna engel olabiliyor. Bu sebeple ilk aşamada, hem keyprint oluşturmak adına hem de izin sorununu aşmak adına, SQL dosyasını sunucunuzda istediğiniz bir yere kopyalayın.
Kopyalama işlemi yapmak için ise, bilgisayarınızdaki terminalden şunu yapmanız yeterli olacaktır:
Tavsiyem, sunucudaki "temp" klasörüne göndermenizdir. Çünkü farklı dosyalara yapacağınzı gönderimlerde, "permission denied" hatası olan izin sorunuyla karşılaşabilirsiniz.
Örnek gösterim:
Enter yapın. Sistem şifrenizi soracak. Şifreinizi yazın.
İşlemin gerçekleşmekte olduğunu şu çıktıdan anlayabilirsin:
Dosya artık istediğiniz konumda. Şimdi o konumda yer alan dosyayı, örneğin MySQL bir veritabanına import edelim.
Bunun için öncelikle, terminal üzerinden sunucunuzda login olun. Örnek gösterim :
Sistem sizden şifre isteyecek, şifrenizi girdikten sonra login olduğunuzu varsayalım.
Şimdi MySQL'de login olalım.
Burada "-u"dan sonra gelecek olan kısım, sizin veritabanına girişteki kullanıcı adınız. Enter yaptıktan sonra da şifreniz sorulacak. (PhpMyAdmin'de login olurken kullandığınız kullanıcı adı ve şifreyi kullanacaksınız)
Şimdi database işlemlerini gelelim.
Öncelikle import yapmak istediğiniz veritabanı adınız yazın :
Son olarak ise, şu komut ile dosyayı veritabanına
Hepsi bu kadar. Kolay gelsin. Konu ile ilgili yazmak istediklerinizi alt kısımdaki yorum formu aracılığıyla iletebilirsiniz.
Bu işlemleri Linux ve Mac cihazlarda sorunsuz bir şekilde gerçekleştirebilirsiz. Bilgisayarnızdan direkt olarak SQL dosyasını terminal ile sunucuyadaki veritabanına import etmek mümkün fakat, bazen dosya izinleri buna engel olabiliyor. Bu sebeple ilk aşamada, hem keyprint oluşturmak adına hem de izin sorununu aşmak adına, SQL dosyasını sunucunuzda istediğiniz bir yere kopyalayın.
Kopyalama işlemi yapmak için ise, bilgisayarınızdaki terminalden şunu yapmanız yeterli olacaktır:
sudo scp bilgisayardaki_sql_dosyası sunucu_kullanıcı_adı@sunucu_adresi:/sunucuda_kopyalamak_istediğiniz_yer
Tavsiyem, sunucudaki "temp" klasörüne göndermenizdir. Çünkü farklı dosyalara yapacağınzı gönderimlerde, "permission denied" hatası olan izin sorunuyla karşılaşabilirsiniz.
Örnek gösterim:
sudo scp /Users/aliarslan/Desktop/db.sql root@blogkafem.net:/var/www/tmp
Enter yapın. Sistem şifrenizi soracak. Şifreinizi yazın.
root@blogkafem.net's password:
İşlemin gerçekleşmekte olduğunu şu çıktıdan anlayabilirsin:
db.sql 100% 8504KB 471.4KB/s 00:18
Dosya artık istediğiniz konumda. Şimdi o konumda yer alan dosyayı, örneğin MySQL bir veritabanına import edelim.
Bunun için öncelikle, terminal üzerinden sunucunuzda login olun. Örnek gösterim :
ssh root@blogkafem.net
Sistem sizden şifre isteyecek, şifrenizi girdikten sonra login olduğunuzu varsayalım.
Şimdi MySQL'de login olalım.
mysql -u root -p
Burada "-u"dan sonra gelecek olan kısım, sizin veritabanına girişteki kullanıcı adınız. Enter yaptıktan sonra da şifreniz sorulacak. (PhpMyAdmin'de login olurken kullandığınız kullanıcı adı ve şifreyi kullanacaksınız)
Şimdi database işlemlerini gelelim.
Öncelikle import yapmak istediğiniz veritabanı adınız yazın :
use veritabanı_adi;
Son olarak ise, şu komut ile dosyayı veritabanına
SET autocommit=0; source /var/www/tmp/dosya_adi.sql; COMMIT;
Hepsi bu kadar. Kolay gelsin. Konu ile ilgili yazmak istediklerinizi alt kısımdaki yorum formu aracılığıyla iletebilirsiniz.

