Lokalde Bulunan Veritabanının Sunucuda MySQL'e Aktarımı

Kendi bilgisayarınızda herhangi br uygulama geliştirdiğiniz ve phpmyadmin vb. herhangi bir araç kullanmadan, direkt olarak konsoldan veritabanını sunucuya aktarmak istiyorsanız, işlemler biraz karmaşık hal alabiliyor. Aslında bu yazı MySQL'den çok scp ve unzip ile alakalı ve çok basit komutlar yeterli, sadece kurulumdan, içe aktarıma, tüm hepsini bir araya getirmek istedim.

Burada, elinizde aktarmak istediğiniz veritabanının tablolarının .zip olarak sıkıştırılmış olarak elinizde bulunuğunu, aynı zamanda da sunucuya herhangi bir kullanıcı adı ile bağlanabildiğiniz varsayıyorum.

Öncelikle MySQL kurulumunu gerçekleştirmemiz lazım.
$ ssh user@host
$ sudo apt-get install mysql-server mysql-client unzip
Sizden bir root şifresi isteyecek, bu şifreyi iki kere yazdıktan sonra mysql kurulumu tamamlanacak. Buraya ufak bir not bırakmak istiyorum. Eğer root şifresini unutursanız, alttaki komutu çalıştırın, mysql tekrardan yapılandırılacaktır.
$ sudo dpkg-reconfigure mysql-server
Kurulumu tamamladıktan sonra, biraz önceki şifreniz ile sunucuda MySQL client'ına giriş yapın.
$ mysql -u root -p
Devamında, sırasıyla veritabanı ve kullanıcıyı oluşturup, kullanıcıya o veritabanı üzerinde tüm izinleri tanımlayın (Noktalı virgülleri unutmayın).
mysql> CREATE DATABASE veritabani_adi;
mysql> CREATE USER 'kullanici_adi'@'localhost' IDENTIFIED BY 'kullanici_sifresi';
mysql> GRANT ALL PRIVILEGES ON veritabani_adi . * TO 'kullanici_adi'@'localhost';
An itibariyle kullanıcıyı ekleyip, veritabanına yazabilme yetkisi verdiniz.

Sonrasında, kendi bilgisayarınızdan scp ile veritabanı yedeğini, sunucuya aktarmanız lazım. ~/veritabani.sql.zip aktarmak istediğiniz dosyanın direkt konumu iken, /home/user/ sunucuda aktaracağımız kısım.
$ scp ~/veritabani.sql.zip user@host:/home/user
Sonrasında sunucuya tekrar bağlanıp,
$ cd /home/user # ki bu path'i değistirmediyseniz muhtemelen ilk geldiğiniz yer burası olacak
$ unzip -p veritabani.sql.zip | mysql -u root -p veritabani_adi
Sizden root şifresini isteyecek, bu şifreyi de yazdıktan sonra veritabanı yedeğiniz sunucuya aktarılmış oldu.