Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara Mengubah Direktori Data MySQL/MariaDB Default di Linux

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!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kesalahan fatal:Panggilan ke fungsi yang tidak ditentukan mysql_connect()

  2. Muat data CSV ke MySQL dengan Python

  3. Pembatas di MySQL

  4. Apa yang lebih baik di MYSQL count(*) atau count(1)?

  5. MySQL vs MySQLi saat menggunakan PHP