Cara Mengubah Direktori Data MySQL/MariaDB Lalai di Linux

Cara Mengubah Direktori Data MySQL/MariaDB Lalai di Linux

Setelah memasang komponen timbunan lampu pada pelayan CentOS/RHEL 7, ada beberapa perkara yang mungkin anda mahu lakukan.

Sebilangan daripada mereka ada kaitan dengan meningkatkan keselamatan Apache dan Mysql / Mariadb, sementara yang lain mungkin terpakai atau tidak mengikut persediaan atau keperluan kami.

Contohnya, berdasarkan penggunaan pelayan pangkalan data yang diharapkan, kami mungkin mahu mengubah lalai data direktori (/var/lib/mysql) ke lokasi yang berbeza. Ini berlaku apabila direktori sedemikian dijangka berkembang disebabkan oleh penggunaan yang tinggi.

Jika tidak, sistem fail di mana /var disimpan mungkin runtuh pada satu ketika menyebabkan seluruh sistem gagal. Satu lagi senario di mana menukar direktori lalai adalah apabila kita mempunyai bahagian rangkaian khusus yang ingin kami gunakan untuk menyimpan data sebenar kami.

Atas sebab ini, dalam artikel ini, kami akan menerangkan cara menukar direktori data MySQL/MariaDB lalai ke jalan yang berbeza pada pelayan CentOS/RHEL 7 dan Ubuntu/Debian Distribusi.

Walaupun kita akan menggunakan Mariadb, Konsep -konsep yang dijelaskan dan langkah -langkah yang diambil dalam artikel ini memohon kedua -duanya Mysql dan kepada Mariadb melainkan dinyatakan sebaliknya.

Menukar Direktori Data MySQL/MariaDB lalai

Catatan: Kami akan menganggap bahawa direktori data baru kami adalah /mnt/mysql-data. Penting untuk diperhatikan bahawa direktori ini harus dimiliki oleh MySQL: MySQL.

# mkdir /mnt /mysql-data # chown -r mysql: mysql /mnt /mysql-data 

Untuk kemudahan anda, kami telah membahagikan proses ke dalam 5 langkah yang mudah diikuti:

Langkah 1: Kenal pasti direktori data MySQL semasa

Untuk memulakan, adalah layak dan baik untuk mengenal pasti direktori data semasa menggunakan arahan berikut. Jangan hanya menganggapnya masih ada /var/lib/mysql Oleh kerana ia dapat diubah pada masa lalu.

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

Selepas anda memasukkan kata laluan MySQL, output harus serupa dengan.

Kenal pasti Direktori Data MySQL

Langkah 2: Salin direktori data MySQL ke lokasi baru

Untuk mengelakkan rasuah data, hentikan perkhidmatan jika sedang berjalan sebelum meneruskan. Menggunakan sistemd Perintah yang terkenal untuk berbuat demikian:

------------- Pada sistem ------------- # Systemctl Stop MariaDB # Systemctl IS-Active MariaDB ------------- Pada sysvinit ------------- # Service Mysqld Stop # Service MySqld Status atau # Service Mysql Stop # Service MySQL Status 

Sekiranya perkhidmatan telah diturunkan, output perintah terakhir harus seperti berikut:

Hentikan perkhidmatan MySQL

Kemudian salin semula kandungannya /var/lib/mysql ke /mnt/mysql-data Memelihara kebenaran asal dan cap waktu:

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

Langkah 3: Konfigurasikan Direktori Data MySQL Baru

Edit fail konfigurasi (saya.cnf) untuk menunjukkan direktori data baru (/mnt/mysql-data Dalam kes ini).

# vi /etc /my.CNF atau # VI/ETC/MYSQL/MY.cnf 

Cari [mysqld] dan [Pelanggan] bahagian dan membuat perubahan berikut:

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

Simpan perubahan dan kemudian teruskan dengan langkah seterusnya.

Konfigurasikan Direktori Data MySQL Baru

Langkah 4: Tetapkan konteks keselamatan selinux ke direktori data

Langkah ini hanya boleh digunakan untuk RHEL/CENTOS dan derivatifnya.

Tambahkan konteks keselamatan selinux ke /mnt/mysql-data Sebelum memulakan semula MariaDB.

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

Seterusnya memulakan semula perkhidmatan MySQL.

------------- Pada sistem ------------- # Systemctl Stop MariaDB # Systemctl IS-Active MariaDB ------------- Pada sysvinit ------------- # Service Mysqld Stop # Service MySqld Status atau # Service Mysql Stop # Service MySQL Status 

Sekarang, gunakan arahan yang sama seperti dalam Langkah 1 Untuk mengesahkan lokasi direktori data baru:

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

Langkah 5: Buat pangkalan data MySQL untuk mengesahkan direktori data

Log masuk ke MariaDB, buat pangkalan data baru dan kemudian periksa /mnt/mysql-data:

# mysql -u root -p -p -e "Buat pangkalan data tecmint;" 
Semak Direktori Data Baru MySQL

Tahniah! Anda telah berjaya menukar direktori data untuk MySQL atau MariaDB.

Ringkasan

Dalam siaran ini, kami telah membincangkan cara menukar direktori data dalam pelayan MySQL atau MariaDB yang dijalankan di CentOS/RHEL 7 dan Ubuntu/Debian Distributions.

Adakah anda mempunyai soalan atau komen mengenai artikel ini? Jangan ragu untuk memberitahu kami menggunakan borang di bawah - kami sentiasa gembira mendengar daripada anda!