Untuk Windows, pada Pemasang MySQL 1. 4. 6 [07-04-2015], lokasi data dapat ditentukan dalam kunci registri yang menentukan lokasi file my.ini
, jadi jika data awalnya dipasang di lokasi non-default, file my.ini
tidak akan berada di C:\ProgramData\MySQL\MySQL Server x.x\
Lokasi nilai registri adalah [setidaknya pada MySQL 5. 6]
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MySQL AB\MySQL Server x.x\
Location
adalah REG_SZ
yang menunjuk ke folder tempat file aplikasi MySQL berada; . C:\Program Files\MySQL\MySQL Server x.x\
DataLocation
adalah REG_SZ
yang menunjuk ke folder tempat my.ini
berada; . C:\Program Files\MySQL\MySQL Server x.x\
Selain itu, jalur file my.ini
disertakan dalam perintah layanan di bawah kunci registri ini. my.ini
2 dalam nilai my.ini
3 my.ini
4
Nilai default dari string ini adalah. my.ini
_5
Jadi intinya adalah untuk memindahkan file data dalam skenario ini Anda harus mengikuti langkah-langkah yang diposting oleh @ITCuties dengan beberapa tambahan
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 lain
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
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
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
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 status0 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
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;"
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;"
Selamat. Anda telah berhasil mengubah direktori data untuk MySQL atau MariaDB
RingkasanDalam 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?