Pada tutorial kali ini saya akan membahas bagaimana cara memindahkan direktori data yang menyimpan database MySQL pada sistem operasi Ubuntu. Tahukah Anda bahwa sebenarnya setiap database yang Anda buat di server MySQL disimpan dalam folder di sistem aplikasi MySQL.
Secara default pada aplikasi server MySQL di sistem operasi Ubuntu, setiap database yang dibuat akan dismpan dan diletakkan di folder /var/lib/mysql seperti terlihat pada gambar di bawah ini
dari gambar diatas anda bisa melihat bahwa di server MySQL saya terdapat beberapa database seperti guestbook, wisma, phpmyadmin dan database lainnya. Untuk mengecek kebenarannya, saya akan mencoba masuk ke server MySQL dengan perintah
mysql -u root -p
lalu saya jalankan perintahnya
select @@datadir;_
dari hasil terlihat bahwa memang benar database yang saya miliki tersimpan di folder /var/lib/mysql seperti pada output dibawah ini
dalam skenario ini, saya ingin mencoba memindahkan folder tempat penyimpanan database mysql ke tempat baru, yaitu saya taruh di /mysql (sebelumnya di /var/lib/mysql). Berikut langkah-langkahnya
Sebagai informasi, saya menggunakan aplikasi MySQL server 5. 7 di Desktop Ubuntu 16. 04, namun cara ini juga sudah berhasil dicoba di sistem operasi Ubuntu Server 14. 04 LTS
Langkah pertama sudah jelas, sebaiknya matikan dulu service MySQL dengan perintah
sudo service mysql stop
kemudian lihat statusnya dengan menjalankan perintah
sudo service mysql status
setelah itu silahkan copy folder /var/lib/mysql dengan menjalankan perintah rsync seperti dibawah ini
rsync -av /var/lib/mysql /_
selanjutnya silahkan ganti nama folder /var/lib/mysql menjadi nama lain sebagai cadangan untuk berjaga-jaga jika transfer ini gagal, disini saya mengganti nama folder /var/lib/mysql menjadi var/lib/mysql-default by 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 mengubah bagian
datadir = /var/lib/mysql
menjadi
#datadir = /var/lib/mysql datadir = /mysql_
simpan, lalu edit juga konfigurasi apparmor dengan menjalankan perintah
sudo vim /etc/apparmor.d/tunables/alias_
tambahkan konfigurasi seperti di bawah ini di dalamnya
select @@datadir;_0
kemudian simpan dan mulai ulang layanan apparmor dengan menjalankan perintah
select @@datadir;_1
setelah itu silahkan aktifkan kembali service mysql dengan menjalankan perintah
select @@datadir;_2
dari hasil menjalankan perintah tersebut, saya menemukan pesan error seperti gambar keluaran di bawah ini
ini karena folder default tempat penyimpanan database tidak ada (karena saya sudah mengubahnya menjadi /var/lib/mysql-default) untuk mengatasi pesan kesalahan, saya cukup membuat folder baru dengan perintah
select @@datadir;_3
kemudian saya coba jalankan lagi perintah untuk mengaktifkan service mysql server seperti di bawah ini
select @@datadir;_2
maka hasilnya tidak lagi menampilkan pesan error seperti sebelumnya, silahkan lihat status service server MySQL dengan perintah tersebut
sudo service mysql status
ketika service database MySQL sudah berjalan normal maka akan muncul hasil seperti pada gambar dibawah ini
untuk mengecek apakah data direktori database sudah dipindahkan ke folder MySQL, saya coba juga masuk ke shell MySQL dengan perintah ;
mysql -u root -p
kemudian jalankan perintah
select @@datadir;_
maka hasilnya seperti pada gambar di bawah ini
yup, saya sudah berhasil memindahkan direktori data tempat penyimpanan database MySQL, untuk memastikannya saya mencoba membuat database baru dengan perintah
select @@datadir;_8
dengan hasil sebagai berikut
kemudian saya juga melihat isi folder /mysql untuk memastikan bahwa database_testing disimpan di folder yang saya ubah, dengan menjalankan perintah