Diferencia entre revisiones de «MariaDB»
Ir a la navegación
Ir a la búsqueda
(Página creada con «== Instalación MariaDB en Docker == Instalación de [https://hub.docker.com/_/mariadb 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…») |
Sin resumen de edición |
||
| (No se muestran 6 ediciones intermedias del mismo usuario) | |||
| Línea 23: | Línea 23: | ||
--env MARIADB_ROOT_PASSWORD=root \ | --env MARIADB_ROOT_PASSWORD=root \ | ||
-p 127.0.0.1:3306:3306 \ | -p 127.0.0.1:3306:3306 \ | ||
-v mariadb-data:/var/lib/mysql:Z \ | |||
-v mariadb-backup:/var/backups/mariadb \ | |||
mariadb:11.8-noble | mariadb:11.8-noble | ||
</syntaxhighlight> | |||
=== Conectar a la base de datos === | |||
Conectamos como root: | |||
<syntaxhighlight lang="Bash"> | |||
docker exec -it mariadb-11.8 mariadb --host localhost --user root --password | |||
</syntaxhighlight> | |||
=== Crear base de datos === | |||
En este ejemplo creamos una BD para keycloak: | |||
<syntaxhighlight lang="Bash"> | |||
CREATE DATABASE keycloakdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; | |||
</syntaxhighlight> | |||
=== Crear usuario === | |||
En este ejemplo creamos una BD para keycloak: | |||
<syntaxhighlight lang="Bash"> | |||
CREATE USER keycloak IDENTIFIED BY 'keycloak'; | |||
</syntaxhighlight> | |||
=== Dar permisos a usuario en BD === | |||
En este ejemplo creamos una BD para keycloak: | |||
<syntaxhighlight lang="Bash"> | |||
GRANT ALL PRIVILEGES ON keycloakdb.* TO 'keycloak'; | |||
FLUSH PRIVILEGES; | |||
</syntaxhighlight> | |||
=== Comprobar permisos === | |||
<syntaxhighlight lang="Bash"> | |||
SHOW GRANTS FOR 'keycloak'; | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="text"> | |||
+---------------------------------------------------------------------------------------------------------+ | |||
| Grants for keycloak@% | | |||
+---------------------------------------------------------------------------------------------------------+ | |||
| GRANT USAGE ON *.* TO `keycloak`@`%` IDENTIFIED BY PASSWORD '*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' | | |||
| GRANT ALL PRIVILEGES ON `keycloakdb`.* TO `keycloak`@`%` | | |||
+---------------------------------------------------------------------------------------------------------+ | |||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Pruebas === | === Pruebas === | ||
Probaremos a conectar a la BBDD mediante el cliente [http://www.squirrelsql.org/ SquirrelSQL]. | Probaremos a conectar a la BBDD mediante el cliente [http://www.squirrelsql.org/ SquirrelSQL]. | ||
== 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 == | ||
| Línea 37: | Línea 109: | ||
* [http://www.squirrelsql.org/ http://www.squirrelsql.org/] | * [http://www.squirrelsql.org/ http://www.squirrelsql.org/] | ||
* [https://mariadb.com/downloads/connectors/connectors-data-access/java8-connector https://mariadb.com/downloads/connectors/connectors-data-access/java8-connector] | * [https://mariadb.com/downloads/connectors/connectors-data-access/java8-connector https://mariadb.com/downloads/connectors/connectors-data-access/java8-connector] | ||
* [https://phoenixnap.com/kb/how-to-create-mariadb-user-grant-privileges https://phoenixnap.com/kb/how-to-create-mariadb-user-grant-privileges] | |||
[[Categoría:Notas]] | [[Categoría:Notas]] | ||
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.