Database, Ubuntu Server, Programming

Like Us

Tags

Archive

Tuesday, September 06, 2016

Cara memindah data directory database server MySQL 5.7 di Ubuntu

Pada tutorial kali ini, saya akan membahas bagaimana caranya memindah data directory yang menyimpan database MySQL pada sistem operasi Ubuntu. Tahukah kamu bahwa sebenarnya setiap database yang anda buat di dalam server MySQL disimpan di dalam suatu folder di system aplikasi MySQL. 

Secara default pada aplikasi MySQL server di dalam sistem operasi Ubuntu, setiap database yang dibuat akan dismpan dan ditaruh di dalam folder /var/lib/mysql seperti yang ditunjukkan pada gambar di bawah ini:


dari gambar di atas anda dapat melihat bahwa di dalam server MySQL yang saya miliki sudah terdapat beberapa database seperti database guestbook, homestead, phpmyadmin dan lain-lain. Untuk mengecek kebenarannya saya akan mencoba masuk ke dalam server MySQL dengan perintah:

 mysql -u root -p

kemudian saya jalankan perintah:

 select @@datadir;

dari hasilnya terlihat bahwa benar database yang saya miliki disimpan di dalam folder /var/lib/mysql sesuai tampilan output di bawah ini:


pada skenario kali ini, saya ingin mencoba memindah folder tempat menyimpan database mysql ke tempat baru, yaitu saya letakkan di /mysql (dari sebelumnya berada di /var/lib/mysql). Berikut langkah-langkahnya:

Sebagai informasi, saya menggunakan aplikasi MySQL server 5.7 di dalam Ubuntu Desktop 16.04, tetapi cara ini juga sudah berhasil dicoba pada sistem operasi Ubuntu Server 14.04 LTS.

Langkah pertama jelas, anda harus mematikan service MySQL terlebih dahulu dengan perintah:

 sudo service mysql stop

kemudian lihat statusnya denganmenjalankan perintah:

 sudo service mysql status

setelah itu silakan salin folder /var/lib/mysql dengan mejalankan perintah rsync seperti di bawah ini:

 rsync -av /var/lib/mysql /

lalu silakan ubah nama folder /var/lib/mysql ke nama lainnya sebagai backup untuk berjaga-jaga saja apabila perpindahan ini gagal dilakukan, disini saya merubah nama folder /var/lib/mysql menjadi var/lib/mysql-default dengan menjalankan perintah:

 sudo mv /var/lib/mysql /var/lib/mysql-default

kemudian ubah file konfigurasi mysqld.conf dengan menjalankan perintah:

 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

kemudian ubah bagian:

 datadir = /var/lib/mysql

menjadi:

 #datadir = /var/lib/mysql
 datadir  = /mysql

simpan, kemudian edit juga konfigurasi apparmor dengan menjalankan perintah:

 sudo vim /etc/apparmor.d/tunables/alias

tambahkan konfigurasi seperti di bawah ini deidalamnya:

 alias /var/lib/mysql/ -> /mysql/,

kemudian simpan dan restart layanan apparmor dengan menjalankan perintah:

 sudo service apparmor restart

setelah itu silakan aktifkan lagi layanan mysql dengan menjalankan perintah:

 sudo service mysql start

dari hasil menjalankan perintah tersebut, saya mendapati pesan error seperti gambar output di bawah ini:



hal ini dikarenakan default folder tempat menyimpan database tidak ada (karena sudah saya ubah menjadi /var/lib/mysql-default) untuk menangani pesan error tersebut, saya cukup membuat baru folder tersebut dengan perintah:

 sudo mkdir -p /var/lib/mysql/mysql

kemudian saya mencoba menjalankan kembali perintah untuk mengaktifkan layanan mysql server seperti di bawah ini:

 sudo service mysql start

maka hasilnya tidak nampak lagi pesan error seperti sebelumnya, silakan lihat status layanan MySQL server dengan perintah:

 sudo service mysql status

apabila layanan database MySQL berjalan normal, maka hasilnya akan nampak seperti pada gambar di bawah ini:


untuk mengecak apakah  data direktori database sudah berpindah ke folder MySQL, saya juga mencoba masuk ke dalam shell MySQL dengan perintah;

 mysql -u root -p

kemudian menjalankan perintah:
 select @@datadir;

maka hasilnya terlihat seperti pada gambar di bawah ini:
 

yup, data directory tempat menyimpan database MySQL telah berhasil saya pindahkan, untuk emmastikannya saya mencoba membuat sebuah database baru dengan perintah:

 create database_testing;

dengan hasil seperti di bawah ini:


lalu saya juga melihat isi folder /mysql untuk memastikan bahwa benar database_testing disimpan di dalam folder yang saya ubah, dengan menjalankan perintah:

 sudo ls /mysql

sehingga hasilnya seperti di bawah ini:


yup, berikut langkah-langkah memindah direktori database MySQL di Ubuntu, selamat mencoba dan semoga membantu.

No comments: