permasalahanya ketika kamu menggunakan vps seperti vultr misalnya, space untuk partisi root nya sangat sedikit, hanya 8 Giga itupun masih harus dikurangi untuk filesystem, swap, dll. Bagaimana kalau database nya kamu perlu lebih dari 8G? Caranya tidak terlalu sulit. masih dengan paket paling rendah $5 kamu sudah bisa dapat space database yang cukup lega, 50GB.
Pertama gunakan trik VPS $5, space 50GB di sini, kemudian ikuti langkah dibawah ini untuk memindahkan default database direktori mysql ke partisi lain.
Oke saya anggap partisi blockstorage kamu sudah siap ya, lihat cara di atas!
selanjutnya lihat dimana data direktori mysql kamu terinstall, caranya login ke mysql
# mysql -u root -p
$> select @@datadir;
Output
+-----------------+
| @@datadir |
+-----------------+
| /var/lib/mysql/ |
+-----------------+
1 row in set (0.00 sec)
nah sudah ketahuan kan dimana database kamu nantinya akan tersimpan secara default.
sekarang matikan service mysql kamu
# sudo systemctl stop mysql
sekarang kita copy data di default mysql data dir ke partisi baru
# sudo rsync -av /var/lib/mysql /mnt/blockstorage
ingat, blockstorage tanpa / (slash) yang di belakangnya
sudah tercopy. kini kita backup dulu database defaultnya
# sudo mv /var/lib/mysql /var/lib/mysql.backup
Oke, sekarang kita ubah configurasi mysqlnya supaya mengarah ke data dir yang baru
#
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Ubah data dir nya ke direktori yang baru
....
datadir=/mnt/blockstorage/mysql
....
Nah, sekarang coba restart mysql nya... error kan? hehe.. tunggu, masih satu langkah lagi, perlu configure apparmor juga
# sudo nano /etc/apparmor.d/tunables/alias
tambahkan script berikut ke baris terakir
alias /var/lib/mysql/ -> /mnt/blockstorage/mysql/,
restart apparmor nya
sudo systemctl restart apparmor
Kalau kamu start mysql sekarang masih error juga pastinya hehe... kali ini beneran deh tinggal satu langkah lagi, jalanin perintah ini
# sudo mkdir /var/lib/mysql/mysql -p
oke sekarang start service mysql kamu
sudo systemctl start mysql
Berhasil kan? awas klo gak berhasil!
coba lihat datadir nya sekarang mengarah kemana, sudah ke partisi baru atau masih lama. caranya? lupa? lihat ke atas lagi! masuk ke mysql terus jalanin
mysql> select @@datadir;
harusnya sekarang seperti ini hasilnya
+--------------------------+
| @@datadir |
+--------------------------+
| /mnt/blockstorage/mysql/ |
+--------------------------+
1 row in set (0.00 sec)
No comments:
Post a Comment