Setelah menginstal komponen tumpukan LAMP di server CentOS/RHEL 7, ada beberapa hal yang mungkin ingin Anda lakukan.
Beberapa di antaranya berkaitan dengan peningkatan keamanan Apache dan MySQL / MariaDB, sementara yang lain mungkin berlaku atau tidak sesuai dengan pengaturan atau kebutuhan kami.
Misalnya, berdasarkan penggunaan server database yang diharapkan, kami mungkin ingin mengubah data default default direktori (/var/lib/mysql
) ke lokasi yang berbeda. Ini adalah kasus ketika direktori seperti itu diperkirakan akan tumbuh karena penggunaan yang tinggi.
Jika tidak, sistem file tempat /var
disimpan dapat runtuh pada satu titik menyebabkan seluruh sistem gagal. Skenario lain ketika mengubah direktori default adalah ketika kita memiliki jaringan khusus yang ingin kita gunakan untuk menyimpan data kita yang sebenarnya.
Untuk itu, dalam artikel ini, kami akan menjelaskan cara mengubah direktori data default MySQL/MariaDB ke jalur yang berbeda pada server CentOS/RHEL 7 dan distribusi Ubuntu/Debian.
Meskipun kami akan menggunakan MariaDB , konsep yang dijelaskan dan langkah-langkah yang diambil dalam artikel ini berlaku untuk MySQL dan ke MariaDB kecuali dinyatakan lain.
Mengubah Direktori Data MySQL/MariaDB default
Catatan :Kita akan mengasumsikan bahwa direktori data baru kita adalah /mnt/mysql-data
. Penting untuk dicatat bahwa direktori ini harus dimiliki oleh mysql:mysql
.
# mkdir /mnt/mysql-data # chown -R mysql:mysql /mnt/mysql-data
Demi kenyamanan Anda, kami telah membagi prosesnya menjadi 5 langkah yang mudah diikuti:
Langkah 1:Identifikasi Direktori Data MySQL Saat Ini
Untuk memulai, ada baiknya dan baik untuk mengidentifikasi direktori data saat ini menggunakan perintah berikut. Jangan hanya berasumsi masih /var/lib/mysql
karena itu bisa saja diubah di masa lalu.
# mysql -u root -p -e "SELECT @@datadir;"
Setelah Anda memasukkan kata sandi MySQL, hasilnya akan mirip dengan.
Langkah 2:Salin Direktori Data MySQL ke Lokasi Baru
Untuk menghindari kerusakan data, hentikan layanan jika sedang berjalan sebelum melanjutkan. Gunakan systemd perintah terkenal untuk melakukannya:
------------- On SystemD ------------- # systemctl stop mariadb # systemctl is-active mariadb ------------- On SysVInit ------------- # service mysqld stop # service mysqld status OR # service mysql stop # service mysql status
Jika layanan telah dimatikan, output dari perintah terakhir adalah sebagai berikut:
Kemudian salin secara rekursif konten /var/lib/mysql
ke /mnt/mysql-data
mempertahankan izin asli dan stempel waktu:
# cp -R -p /var/lib/mysql/* /mnt/mysql-data
Langkah 3:Konfigurasi Direktori Data MySQL Baru
Edit file konfigurasi (my.cnf
) untuk menunjukkan direktori data baru (/mnt/mysql-data
dalam hal ini).
# vi /etc/my.cnf OR # vi /etc/mysql/my.cnf
Temukan [mysqld]
dan [client]
bagian dan buat perubahan berikut:
Under [mysqld]: datadir=/mnt/mysql-data socket=/mnt/mysql-data/mysql.sock Under [client]: port=3306 socket=/mnt/mysql-data/mysql.sock
Simpan perubahan dan lanjutkan ke langkah berikutnya.
Langkah 4:Setel Konteks Keamanan SELinux ke Direktori Data
Langkah ini hanya berlaku untuk RHEL/CentOS dan turunannya.
Tambahkan konteks keamanan SELinux ke /mnt/mysql-data
sebelum memulai ulang MariaDB.
# semanage fcontext -a -t mysqld_db_t "/mnt/mysql-data(/.*)?" # restorecon -R /mnt/mysql-data
Selanjutnya restart layanan MySQL.
------------- On SystemD ------------- # systemctl stop mariadb # systemctl is-active mariadb ------------- On SysVInit ------------- # service mysqld stop # service mysqld status OR # service mysql stop # service mysql status
Sekarang, gunakan perintah yang sama seperti pada Langkah 1 untuk memverifikasi lokasi direktori data baru:
# mysql -u root -p -e "SELECT @@datadir;"
Langkah 5:Buat Database MySQL untuk Konfirmasi Direktori Data
Login ke MariaDB, buat database baru lalu centang /mnt/mysql-data
:
# mysql -u root -p -e "CREATE DATABASE tecmint;"
Selamat! Anda telah berhasil mengubah direktori data untuk MySQL atau MariaDB.
Ringkasan
Dalam posting ini, kita telah membahas cara mengubah direktori data di server MySQL atau MariaDB yang berjalan pada distribusi CentOS/RHEL 7 dan Ubuntu/Debian.
Apakah Anda memiliki pertanyaan atau komentar tentang artikel ini? Jangan ragu untuk memberi tahu kami menggunakan formulir di bawah – kami selalu senang mendengar kabar dari Anda!