Cómo cambiar el directorio de datos MySQL/Mariadb en Ubuntu

Cómo cambiar el directorio de datos MySQL/Mariadb en Ubuntu
Por defecto, los servidores de base de datos MySQL/Mariadb SQL ponen sus datos en el sistema de archivos raíz. Esto no es lo que quieres en tus servidores de producción la mayor parte del tiempo. Es posible que desee poner los datos del servidor de la base de datos en un disco duro diferente o partición SSD.

En este artículo, le mostraré cómo cambiar el directorio de datos predeterminado de la base de datos MySQL/mariadb en Ubuntu. Entonces empecemos.

Instalación de MySQL/Mariadb en Ubuntu:

Los paquetes de bases de datos MySQL/mariadb están disponibles en el repositorio oficial de paquetes de Ubuntu. Por lo tanto, puede instalarlo fácilmente desde allí usando el Administrador de paquetes APT.

Primero, actualice el caché del repositorio del paquete APT con el siguiente comando:

$ sudo apt actualización

Ahora, si desea instalar el servidor de base de datos MySQL, ejecute el siguiente comando:

$ sudo apt install mysql-server mysql-client

Si desea instalar el servidor de base de datos mariadb, ejecute el siguiente comando:

$ sudo apt install mariadb-server mariadb-client

Voy a instalar el servidor de base de datos mariadb en este artículo. Puedes instalar mysql si quieres.

Una vez que ejecute el comando de instalación requerido, debería ver el siguiente mensaje. Prensa Y y luego presiona continuar.

Se debe instalar el servidor de base de datos MySQL/Mariadb.

Encontrar el directorio de datos MySQL/Mariadb predeterminado:

Puede encontrar el directorio de datos predeterminado de la base de datos MySQL/mariadb muy fácilmente con el grep o municipal dominio.

$ sudo grep -r -color dataDir/etc/mysql/*

Como puede ver, el directorio de datos predeterminado para el servidor de base de datos mariadb es /var/lib/mysql. El archivo de configuración del servidor de base de datos mariadb es /etc/mysql/mariadb.confusión.servidor de d/50.CNF. Si desea cambiar el directorio de datos predeterminado del servidor de base de datos Mariadb, debe cambiarlo en el archivo de configuración /etc/mysql/mariadb.confusión.servidor de d/50.CNF.

El directorio de datos predeterminado para el servidor de base de datos MySQL es /var/lib/mysql también. Pero el archivo de configuración es diferente para el servidor de base de datos MySQL. Para MySQL, el archivo de configuración es /etc/mysql/mysql.confusión.d/mysqld.CNF. Si ha instalado el servidor de base de datos MySQL, para cambiar el directorio de datos predeterminado, debe modificar este archivo de configuración.

En las siguientes secciones, le mostraré cómo preparar un disco duro o una partición SSD para el directorio de datos MySQL/MARIADB y cambiar el directorio de datos predeterminado.

Preparación del directorio de datos MySQL/MARIADB:

En esta sección, le mostraré cómo preparar su disco duro o partición SSD para el directorio de datos MySQL/Mariadb.

Puede enumerar todos los discos duros o SSD instalados en su computadora con el siguiente comando:

$ sudo lsblk | disco GREP

Todos los discos duros y SSD instalados deben aparecer. SDB es el disco duro donde quiero poner mis datos mysql/mariadb. El tuyo debería ser diferente. Entonces, reemplácelo con el tuyo de ahora en adelante.

Ahora tienes que hacer una nueva partición en el disco duro SDB con fdisk.

NOTA: En esta sección, no pasaré por los detalles sobre cómo funciona FDisk. Para aprender a particionar discos duros o SSD con FDisk, lea el artículo cómo usar FDisk en Linux.

Para hacer una partición en el disco duro SDB, Ábralo con fdisk de la siguiente manera:

$ sudo fdisk /dev /sdb

Ahora presiona norte y luego presiona .

Ahora presiona pag y luego presiona .

Ahora presiona .

Prensa .

Prensa . Se debe crear una nueva partición.

Ahora presiona w y presionar .

Digamos que la partición del disco duro que desea usar como es el directorio de datos MySQL/Mariadb /dev/sdb1.

Ahora, formatea la partición /dev/sdb1 Con el siguiente comando:

$ sudo mkfs.ext4 -l db_data /dev /sdb1

Ahora, haz un nuevo directorio /DB por lanzar el /dev/sdb1 dividir.

$ sudo mkdir /db

/DB será el nuevo directorio de datos de MySQL/Mariadb.

Ahora abierto /etc/fstab Archivo con el siguiente comando:

$ sudo nano /etc /fstab

Ahora, agregue la siguiente línea al final del archivo y guarde el archivo presionando + X seguido por Y y .

/dev /sdb1 /db ext4 predeterminados 0 0 0

Ahora reinicie su computadora con el siguiente comando:

$ sudo reinicio

Una vez que tu computadora bota, /dev/sdb1 debe montarse en /DB Como puede ver en la captura de pantalla a continuación.

$ df -h /db

Ahora, cambie el propietario y el grupo del /DB directorio mysql Con el siguiente comando:

$ sudo chown mysql: mysql /db

Ahora, debe detener el servicio de base de datos MySQL/mariadb y copiar todos los archivos del directorio de datos predeterminado /var/lib/mysql al nuevo directorio de datos /DB.

Si está utilizando MariadB, entonces detenga el servicio de mariadb con el siguiente comando:

$ sudo systemctl stop mariadb

Si está utilizando MySQL, detenga el servicio MySQL con el siguiente comando:

$ sudo systemctl detener mysql

Ahora, copie todo el contenido del directorio de datos predeterminado /var/lib/mysql al nuevo directorio de datos /DB Con el siguiente comando:

$ sudo rsync -avzh/var/lib/mysql//db

Todo el contenido de /var/lib/mysql El directorio debe copiarse en el nuevo directorio /DB.

/DB El directorio ahora está preparado para ser el nuevo directorio de datos MySQL/Mariadb.

Configuración de APARMOR:

Ahora, debe configurar APARMOR para permitir /DB ser un directorio de datos MySQL/Mariadb.

Para hacer eso, edite el archivo de alias de Apparmor /etc/aparmor.D/Tunables/Alias como sigue:

$ sudo nano /etc /aparmor.D/Tunables/Alias

Ahora, agregue la siguiente línea al final del archivo y guárdelo presionando + X seguido por Y y .

alias /var /lib /mysql -> /db,

Ahora, reinicie el servicio APARMOR con el siguiente comando:

$ sudo systemctl reiniciar aparmor

Ahora, está listo para cambiar el directorio de datos de MySQL/Mariadb.

Cambiar el directorio de datos MySQL/Mariadb:

Para cambiar el directorio de datos desde /var/lib/mysql a /DB, Debe editar el archivo de configuración requerido dependiendo de si está utilizando mysql/mariadb.

Si está utilizando mariadb, entonces el archivo de configuración que debe editar es /etc/mysql/mariadb.confusión.servidor de d/50.CNF.

Si está utilizando mySQL, entonces el archivo de configuración para editar es /etc/mysql/mysql.confusión.d/mysqld.CNF.

Ahora, edite el archivo de configuración requerido dependiendo de si está utilizando mysql/mariadb de la siguiente manera:

Mariadb:

$ sudo nano/etc/mysql/mariadb.confusión.servidor de d/50.CNF

Mysql:

$ sudo nano/etc/mysql/mysql.confusión.d/mysqld.CNF

Ahora, encuentre la línea como marcada en la captura de pantalla a continuación.

Cambiar el datoria a /DB Como se muestra en la captura de pantalla a continuación. Luego guarde el archivo presionando + X seguido por Y y .

Ahora, comience el servicio MySQL/MariabD con el siguiente comando:

Mariadb:

$ sudo systemctl start mariadb

Mysql:

$ sudo systemctl iniciar mysql

Prueba de MySQL/MariadB:

Ahora, intente conectarse al servidor mysql/mariadb de la siguiente manera:

$ sudo mysql -u root -p

Luego, escriba la contraseña del servidor mysql/mariadb y presione .

Deberías iniciar sesión en el shell mysql/mariadb como raíz usuario de la base de datos. Es una indicación de que funciona.

Pero, solo para estar seguro, escriba la siguiente consulta para encontrar qué directorio mysql/mariadb está utilizando actualmente como directorio de datos.

SQL> Seleccionar @@ datadir;

Como puede ver, el directorio de datos actual es /DB tal como configuré.

Entonces, así es como cambias el directorio de datos MySQL/Mariadb en Ubuntu. Gracias por leer este artículo.