Bagaimana cara memindahkan direktori data mysql?

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 kita.

Misalnya, berdasarkan penggunaan yang diharapkan dari server database, kami mungkin ingin mengubah direktori data default (

# mysql -u root -p -e "SELECT @@datadir;"
0) ke lokasi yang berbeda. Ini adalah kasus ketika direktori seperti itu diharapkan tumbuh karena penggunaan yang tinggi

Jika tidak, sistem file tempat

# mysql -u root -p -e "SELECT @@datadir;"
_1 disimpan dapat runtuh pada satu titik yang menyebabkan seluruh sistem gagal. Skenario lain di mana mengubah direktori default adalah ketika kami memiliki jaringan berbagi khusus yang ingin kami gunakan untuk menyimpan data aktual kami

Untuk itu, pada artikel kali ini, kami akan menjelaskan cara mengubah direktori data MySQL / MariaDB default ke jalur yang berbeda di server CentOS/RHEL 7 dan distribusi Ubuntu/Debian

Meskipun kita akan menggunakan MariaDB, konsep yang dijelaskan dan langkah-langkah yang diambil dalam artikel ini berlaku untuk MySQL dan MariaDB kecuali disebutkan sebaliknya

Mengubah Direktori Data MySQL/MariaDB default

Catatan. Kami akan berasumsi bahwa direktori data baru kami adalah

# mysql -u root -p -e "SELECT @@datadir;"
2. Penting untuk dicatat bahwa direktori ini harus dimiliki oleh
# mysql -u root -p -e "SELECT @@datadir;"
3

# 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, adalah layak dan baik untuk mengidentifikasi direktori data saat ini menggunakan perintah berikut. Jangan hanya menganggap itu masih

# mysql -u root -p -e "SELECT @@datadir;"
0 karena itu bisa diubah di masa lalu

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

Setelah Anda memasukkan kata sandi MySQL, hasilnya akan mirip dengan

Bagaimana cara memindahkan direktori data mysql?
Bagaimana cara memindahkan direktori data mysql?
Identifikasi Direktori Data MySQL

Langkah 2. Salin Direktori Data MySQL ke Lokasi Baru

Untuk menghindari kerusakan data, hentikan layanan jika sedang berjalan sebelum melanjutkan. Gunakan perintah terkenal systemd 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, keluaran dari perintah terakhir adalah sebagai berikut

Bagaimana cara memindahkan direktori data mysql?
Bagaimana cara memindahkan direktori data mysql?
Hentikan Layanan MySQL

Kemudian salin secara rekursif konten

# mysql -u root -p -e "SELECT @@datadir;"
0 ke
# mysql -u root -p -e "SELECT @@datadir;"
2 dengan mempertahankan izin asli dan stempel waktu

# cp -R -p /var/lib/mysql/* /mnt/mysql-data
Bagaimana cara memindahkan direktori data mysql?
Bagaimana cara memindahkan direktori data mysql?
Salin Direktori Data MySQL ke Lokasi Baru

Langkah 3. Konfigurasi Direktori Data MySQL Baru

Edit file konfigurasi (

# mysql -u root -p -e "SELECT @@datadir;"
_7) untuk menunjukkan direktori data baru (
# mysql -u root -p -e "SELECT @@datadir;"
2 dalam hal ini)

# vi /etc/my.cnf
OR
# vi /etc/mysql/my.cnf

Temukan bagian

# mysql -u root -p -e "SELECT @@datadir;"
9 dan
------------- On SystemD ------------- 
# systemctl stop mariadb
# systemctl is-active mariadb

------------- On SysVInit ------------- 
# service mysqld stop
# service mysqld status

OR

# service mysql stop
# service mysql status
0 dan lakukan 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 lalu lanjutkan dengan langkah berikutnya

Bagaimana cara memindahkan direktori data mysql?
Bagaimana cara memindahkan direktori data mysql?
Konfigurasi Direktori Data MySQL Baru

Langkah 4. Setel Konteks Keamanan SELinux ke Direktori Data

Langkah ini hanya berlaku untuk RHEL/CentOS dan turunannya

Tambahkan konteks keamanan SELinux ke

# mysql -u root -p -e "SELECT @@datadir;"
2 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;"
Bagaimana cara memindahkan direktori data mysql?
Bagaimana cara memindahkan direktori data mysql?
Verifikasi Direktori Data Baru MySQL

Langkah 5. Buat Database MySQL untuk Mengonfirmasi Direktori Data

Login ke MariaDB, buat database baru, lalu centang

# mysql -u root -p -e "SELECT @@datadir;"
2

# mysql -u root -p -e "CREATE DATABASE tecmint;"
Bagaimana cara memindahkan direktori data mysql?
Bagaimana cara memindahkan direktori data mysql?
Periksa Direktori Data Baru MySQL

Selamat. Anda telah berhasil mengubah direktori data untuk MySQL atau MariaDB

Ringkasan

Dalam posting ini, kita telah membahas bagaimana 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?

Bagaimana cara mengubah lokasi penyimpanan MySQL saya?

Mengubah Direktori Data MySQL/MariaDB default .
Langkah 1. Identifikasi Direktori Data MySQL Saat Ini. .
Langkah 2. Salin Direktori Data MySQL ke Lokasi Baru. .
Langkah 3. Konfigurasi Direktori Data MySQL Baru. .
Langkah 4. Setel Konteks Keamanan SELinux ke Direktori Data. .
Langkah 5. Buat Database MySQL untuk Mengonfirmasi Direktori Data

Bagaimana cara memindahkan direktori data MySQL di Windows?

Ubah lokasi direktori Data MySQL di Windows .
Hentikan instance MySQL yang ada menggunakan layanan. .
Setelah berhasil mematikan instance, salin direktori data dari lokasi yang ada ke lokasi baru, dalam kasus saya. .
Ubah parameter datadir di my. file ini
Mulai instance MySQL menggunakan layanan. msc

Bisakah saya menyalin direktori data MySQL saja?

Menyalin seluruh folder data . shut down mysqld, zip up your entire MySQL data directory, and copy it to the new server's data directory.

Di mana direktori data MySQL?

pengantar. Biasanya, MySQL akan menyimpan data di direktori default /var/lib/mysql