Com canviar un directori de dades MySQL/MariaDB predeterminat a Linux
Després d'instal·lar els components d'una pila LAMP en un servidor CentOS/RHEL 7, és possible que vulgueu fer un parell de coses.
Alguns d'ells tenen a veure amb augmentar la seguretat d'Apache i MySQL/MariaDB, mentre que altres poden ser aplicables o no segons la nostra configuració o necessitats.
Per exemple, segons l'ús esperat del servidor de bases de dades, és possible que vulguem canviar el directori de dades predeterminat (/var/lib/mysql
) a una ubicació diferent. Aquest és el cas quan s'espera que aquest directori creixi a causa d'un ús elevat.
En cas contrari, el sistema de fitxers on s'emmagatzema /var
pot col·lapsar-se en un moment i provocar un error en tot el sistema. Un altre escenari on canviar el directori predeterminat és quan tenim una compartició de xarxa dedicada que volem utilitzar per emmagatzemar les nostres dades reals.
Per aquest motiu, en aquest article, explicarem com canviar el directori de dades MySQL/MariaDB predeterminat a un camí diferent en un servidor CentOS/RHEL 7 i distribucions Ubuntu/Debian.
Tot i que utilitzarem MariaDB, els conceptes explicats i els passos realitzats en aquest article s'apliquen tant a MySQL com a MariaDB, tret que s'indiqui el contrari.
Canviant el directori de dades MySQL/MariaDB predeterminat
Nota: suposarem que el nostre nou directori de dades és /mnt/mysql-data
. És important tenir en compte que aquest directori hauria de ser propietat de mysql:mysql
.
# mkdir /mnt/mysql-data # chown -R mysql:mysql /mnt/mysql-data
Per a la vostra comoditat, hem dividit el procés en 5 passos fàcils de seguir:
Per començar, val la pena identificar el directori de dades actual mitjançant l'ordre següent. No suposeu només que encara és /var/lib/mysql
ja que es podria haver canviat en el passat.
# mysql -u root -p -e "SELECT @@datadir;"
Després d'introduir la contrasenya de MySQL, la sortida hauria de ser similar a.
Per evitar la corrupció de dades, atureu el servei si s'està executant actualment abans de continuar. Utilitzeu les ordres conegudes de systemd per fer-ho:
------------- On SystemD ------------- # systemctl stop mariadb # systemctl is-active mariadb ------------- On SysVInit ------------- # service mysqld stop # service mysqld status OR # service mysql stop # service mysql status
Si el servei s'ha desactivat, la sortida de l'última ordre hauria de ser la següent:
A continuació, copieu recursivament el contingut de /var/lib/mysql
a /mnt/mysql-data
conservant els permisos i les marques de temps originals:
# cp -R -p /var/lib/mysql/* /mnt/mysql-data
Editeu el fitxer de configuració (my.cnf
) per indicar el nou directori de dades (/mnt/mysql-data
en aquest cas).
# vi /etc/my.cnf OR # vi /etc/mysql/my.cnf
Localitzeu les seccions [mysqld]
i [client]
i feu els canvis següents:
Under [mysqld]: datadir=/mnt/mysql-data socket=/mnt/mysql-data/mysql.sock Under [client]: port=3306 socket=/mnt/mysql-data/mysql.sock
Deseu els canvis i, a continuació, continueu amb el pas següent.
Aquest pas només és aplicable a RHEL/CentOS i els seus derivats.
Afegiu el context de seguretat SELinux a /mnt/mysql-data
abans de reiniciar MariaDB.
# semanage fcontext -a -t mysqld_db_t "/mnt/mysql-data(/.*)?" # restorecon -R /mnt/mysql-data
A continuació, reinicieu el servei 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
Ara, utilitzeu la mateixa ordre que al pas 1 per verificar la ubicació del nou directori de dades:
# mysql -u root -p -e "SELECT @@datadir;"
Inicieu la sessió a MariaDB, creeu una nova base de dades i després comproveu /mnt/mysql-data
:
# mysql -u root -p -e "CREATE DATABASE tecmint;"
Felicitats! Heu canviat correctament el directori de dades per a MySQL o MariaDB.
En aquesta publicació, hem parlat de com canviar el directori de dades en un servidor MySQL o MariaDB que s'executa a les distribucions CentOS/RHEL 7 i Ubuntu/Debian.
Tens alguna pregunta o comentari sobre aquest article? No dubteu a fer-nos-ho saber mitjançant el formulari següent: sempre ens complau saber de vosaltres!