Servidor de Bases de Datos MariaDB
1. Actualizar el sistema #
Siempre empezamos así (buena práctica de sysadmin):
1sudo apt update 2sudo apt upgrade -y
Instalar MariaDB Server #
En Linux Mint ya viene en los repos oficiales:
1sudo apt install mariadb-server mariadb-client -y
Esto instala:
- 🧠 Servidor (
mariadbd) - 🛠️ Cliente (
mariadb)
Comprobar que el servicio está activo #
1sudo systemctl status mariadb
Si todo va bien, verás algo como:
active (running)
👉 Si no estuviese activo:
1sudo systemctl start mariadb 2sudo systemctl enable mariadb
Asegurar MariaDB (MUY IMPORTANTE) #
Ejecutamos el asistente de seguridad:
1sudo mysql_secure_installation
Te irá preguntando:
| Pregunta | Respuesta recomendada |
|---|---|
| Cambiar contraseña de root | ✅ Sí |
| Eliminar usuarios anónimos | ✅ Sí |
| Desactivar login remoto root | ✅ Sí |
| Eliminar BD de test | ✅ Sí |
| Recargar privilegios | ✅ Sí |
📘 Este paso es clave para producción y para explicar seguridad básica.
Acceder a MariaDB #
1sudo mariadb
O con usuario/clave:
1mariadb -u root -p
Si ves el prompt:
1MariaDB [(none)]>
🎉 Servidor funcionando correctamente
Comandos básicos de comprobación #
Dentro de MariaDB:
1SELECT VERSION();
1SHOW DATABASES;
Salir:
1EXIT;
(Opcional) Crear usuario y base de datos (recomendado) #
1CREATE DATABASE ejemplo_db;
1CREATE USER 'alumno'@'localhost' IDENTIFIED BY '1234';
1GRANT ALL PRIVILEGES ON ejemplo_db.* TO 'alumno'@'localhost';
1FLUSH PRIVILEGES;
Comprobar conexión con el nuevo usuario #
1mariadb -u alumno -p ejemplo_db
2. Archivos importantes para explicar en clase #
| Archivo | Función |
|---|---|
/etc/mysql/mariadb.conf.d/50-server.cnf | Configuración del servidor |
/var/lib/mysql/ | Datos de las BD |
/var/log/mysql/error.log | Logs |
3. Paso 6 - Opcional: Configurar el firewall #
Ver si el firewall está activo #
Primero comprobamos el estado:
1sudo ufw status
Puede salir:
Status: inactive
Status: active
Abrir el puerto de MariaDB #
Si SSH está en el puerto 3306::
1sudo ufw allow 3306/tcp
Puedes comprobar reglas:
1sudo ufw status numbered
Ahora activamos: #
1sudo ufw enable
Permitir solo desde una IP concreta (más profesional) #
Si tu Windows tiene IP por ejemplo 192.168.1.50 podemos permitir solo esa IP acceder al servidor:
1sudo ufw allow from 192.168.1.50 to any port 3306 proto tcp
Resumen del tema
Conceptos clave #
- Servidor RDBMS MariaDB: motor de bases de datos relacional que escucha por defecto en el puerto
3306/tcp. - Instalación y Servicio: paquetes
mariadb-serverymariadb-client, gestionado consudo systemctl status/start/enable mariadb. - Securización Inicial (
mysql_secure_installation): asignación de contraseña root, eliminación de usuarios anónimos y bases de datos de test, y restricción de login remoto para root. - Administración SQL: creación de bases de datos (
CREATE DATABASE), usuarios dedicados (CREATE USER) y asignación de privilegios (GRANT ALL PRIVILEGES). - Seguridad en Red y Firewall: enlace local (
bind-address = 127.0.0.1en/etc/mysql/mariadb.conf.d/50-server.cnf) o apertura selectiva por IP en el puerto 3306 conufw.
Qué debes recordar #
MariaDB se administra en el puerto 3306, debe securizarse con mysql_secure_installation y protegerse en ufw restringiendo el acceso remoto a IPs autorizadas.