Cara mengubah direktori data mysql/mariadb default di linux

Cara mengubah direktori data mysql/mariadb default di linux

Setelah memasang komponen tumpukan lampu pada server CentOS/RHEL 7, ada beberapa hal yang mungkin ingin Anda lakukan.

Beberapa dari mereka berkaitan dengan meningkatkan 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 default data direktori (/var/lib/mysql) ke lokasi yang berbeda. Inilah kasus ketika direktori seperti itu diharapkan tumbuh karena penggunaan yang tinggi.

Jika tidak, sistem file dimana /var disimpan dapat runtuh pada satu titik menyebabkan seluruh sistem gagal. Skenario lain di mana mengubah direktori default adalah ketika kami memiliki berbagi jaringan khusus yang ingin kami gunakan untuk menyimpan data aktual kami.

Untuk alasan ini, dalam artikel ini, kami akan menjelaskan cara mengubah direktori data default mysql/mariadb menjadi jalur yang berbeda pada distribusi CentOS/RHEL 7 dan distribusi Ubuntu/Debian.

Meskipun kami akan menggunakan Mariadb, Konsep yang dijelaskan dan langkah -langkah yang diambil dalam artikel ini berlaku baik untuk Mysql dan untuk Mariadb kecuali disebutkan sebaliknya.

Mengubah Direktori Data MySQL/MariaDB default

Catatan: Kami akan berasumsi bahwa direktori data baru kami /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 

Untuk kenyamanan Anda, kami telah membagi proses menjadi 5 langkah yang mudah diikuti:

Langkah 1: Identifikasi direktori data MySQL saat ini

Untuk memulai, layak dan baik untuk mengidentifikasi direktori data saat ini menggunakan perintah berikut. Jangan hanya menganggapnya masih /var/lib/mysql karena itu bisa diubah di masa lalu.

# mysql -u root -p -e "pilih @@ datadir;" 

Setelah Anda memasukkan kata sandi MySQL, outputnya harus serupa dengan.

Identifikasi Direktori Data MySQL

Langkah 2: Salin Direktori Data MySQL ke lokasi baru

Untuk menghindari korupsi data, hentikan layanan jika saat ini berjalan sebelum melanjutkan. Menggunakan Systemd Perintah terkenal untuk melakukannya:

------------- Di Systemd ------------- # systemctl stop mariadb # systemctl is-active mariadb ------------- Di Sysvinit ------------- # layanan mysqld stop # service status mysqld atau # service mysql stop # service status mysql mysql 

Jika layanan telah diturunkan, output dari perintah terakhir harus sebagai berikut:

Hentikan layanan mysql

Kemudian salin secara rekursif isi /var/lib/mysql ke /mnt/mysql-data Melestarikan Izin Asli dan Cap waktu:

# cp -r -p/var/lib/mysql/*/mnt/mysql -data 
Salin Direktori Data MySQL ke lokasi baru

Langkah 3: Mengkonfigurasi Direktori Data MySQL Baru

Edit file konfigurasi (-ku.CNF) untuk menunjukkan direktori data baru (/mnt/mysql-data pada kasus ini).

# vi /etc /my.cnf atau # vi/etc/mysql/my.CNF 

Temukan [mysqld] Dan [klien] bagian dan membuat perubahan berikut:

Di bawah [mysqld]: datadir =/mnt/mysql-data soket =/mnt/mysql-data/mysql.kaus kaki Di bawah [klien]: port = 3306 soket =/mnt/mysql-data/mysql.kaus kaki 

Simpan perubahan dan kemudian lanjutkan dengan langkah berikutnya.

Mengkonfigurasi Direktori Data MySQL Baru

Langkah 4: Setel Konteks Keamanan Selinux ke Data Data

Langkah ini hanya berlaku untuk Rhel/centos dan turunannya.

Tambahkan konteks keamanan selinux ke /mnt/mysql-data Sebelum memulai kembali Mariadb.

# Semanage fcontext -a -t mysqld_db_t "/mnt/mysql -data (/.*)?" # restorecon -r /mnt /mysql -data 

Selanjutnya restart layanan mysql.

------------- Di Systemd ------------- # systemctl stop mariadb # systemctl is-active mariadb ------------- Di Sysvinit ------------- # layanan mysqld stop # service status mysqld atau # service mysql stop # service status mysql mysql 

Sekarang, gunakan perintah yang sama seperti di Langkah 1 Untuk memverifikasi lokasi direktori data baru:

# mysql -u root -p -e "pilih @@ datadir;" 
Verifikasi Direktori Data Baru MySQL

Langkah 5: Buat Database MySQL untuk mengonfirmasi Direktori Data

Masuk ke Mariadb, buat database baru dan kemudian periksa /mnt/mysql-data:

# mysql -u root -p -e "Buat database tecmint;" 
Periksa Direktori Data Baru MySQL

Selamat! Anda telah berhasil mengubah direktori data untuk mysql atau mariadb.

Ringkasan

Dalam posting ini, kami 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 ini - kami selalu senang mendengar dari Anda!