Diferencia entre revisiones de «MariaDB»
Ir a la navegación
Ir a la búsqueda
Sin resumen de edición |
Sin resumen de edición |
||
| (No se muestran 3 ediciones intermedias del mismo usuario) | |||
| Línea 70: | Línea 70: | ||
== Realizar un Backup == | == Realizar un Backup == | ||
=== Crear script de backup === | |||
<syntaxhighlight lang="Bash"> | |||
docker debug mariadb-11.8 | |||
</syntaxhighlight> | |||
Nota: el contenedor no tiene herramientas de edición como vi. | |||
<syntaxhighlight lang="Bash"> | |||
nano /var/backups/mariadb/make-mariadb-backup.sh | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="Bash"> | |||
#!/bin/bash | |||
export DATE=$(date +%Y%m%d-%H%M%S) | |||
mkdir /var/backups/mariadb/${DATE} | |||
mariadb-backup --backup --target-dir=/var/backups/mariadb/${DATE} --user=root --password=root | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="Bash"> | |||
chmod 755 /var/backups/mariadb/make-mariadb-backup.sh | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="Bash"> | |||
exit | |||
</syntaxhighlight> | |||
=== Ejecutar backup === | |||
<syntaxhighlight lang="Bash"> | |||
docker exec -it mariadb-11.8 /var/backups/mariadb/make-mariadb-backup.sh | |||
</syntaxhighlight> | |||
== Entorno de PRO == | == Entorno de PRO == | ||
Revisión actual - 11:48 18 abr 2026
Instalación MariaDB en Docker
Instalación de mariadb en Docker. Vamos a usar una imagen oficial de Docker.
Requisitos
Para poder realizar esta configuración se necesita:
- Servidor GNU Linux (ver Securizar Ubuntu Server)
- Cortafuegos FirewallD (UFW tiene problemas con Docker)
- Docker Engine (ver Docker Engine)
- Módulo: Docker Compose (para PRO)
- Nginx (ver LEMP)
Entorno de DEV
Como entorno de DEV se va a usar Docker Desktop.
Descargar imagen
Vamos a usar MariaDB 11.8 que es la versión LTS a día de hoy.
docker pull mariadb:11.8-noble
Ejecutar contenedor en Docker Desktop (DEV)
docker run --detach --name mariadb-11.8 \
--env MARIADB_ROOT_PASSWORD=root \
-p 127.0.0.1:3306:3306 \
-v mariadb-data:/var/lib/mysql:Z \
-v mariadb-backup:/var/backups/mariadb \
mariadb:11.8-noble
Conectar a la base de datos
Conectamos como root:
docker exec -it mariadb-11.8 mariadb --host localhost --user root --password
Crear base de datos
En este ejemplo creamos una BD para keycloak:
CREATE DATABASE keycloakdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Crear usuario
En este ejemplo creamos una BD para keycloak:
CREATE USER keycloak IDENTIFIED BY 'keycloak';
Dar permisos a usuario en BD
En este ejemplo creamos una BD para keycloak:
GRANT ALL PRIVILEGES ON keycloakdb.* TO 'keycloak';
FLUSH PRIVILEGES;
Comprobar permisos
SHOW GRANTS FOR 'keycloak';
+---------------------------------------------------------------------------------------------------------+
| Grants for keycloak@% |
+---------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `keycloak`@`%` IDENTIFIED BY PASSWORD '*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' |
| GRANT ALL PRIVILEGES ON `keycloakdb`.* TO `keycloak`@`%` |
+---------------------------------------------------------------------------------------------------------+
Pruebas
Probaremos a conectar a la BBDD mediante el cliente SquirrelSQL.
Realizar un Backup
Crear script de backup
docker debug mariadb-11.8
Nota: el contenedor no tiene herramientas de edición como vi.
nano /var/backups/mariadb/make-mariadb-backup.sh
#!/bin/bash
export DATE=$(date +%Y%m%d-%H%M%S)
mkdir /var/backups/mariadb/${DATE}
mariadb-backup --backup --target-dir=/var/backups/mariadb/${DATE} --user=root --password=root
chmod 755 /var/backups/mariadb/make-mariadb-backup.sh
exit
Ejecutar backup
docker exec -it mariadb-11.8 /var/backups/mariadb/make-mariadb-backup.sh
Entorno de PRO
En el entorno de PRO MariaDB no la vamos a ejecutar en contenedores. Usaremos un servidor LEMP dedicado que usará MariaDB como base de datos.