Skip to content

Db

This content is not available in your language yet.

8.2 Bases de Datos en Linux: Despliegue y Administración Profesional

Sección titulada «8.2 Bases de Datos en Linux: Despliegue y Administración Profesional»

Las bases de datos son el núcleo de prácticamente cualquier aplicación moderna. Desde plataformas web hasta sistemas financieros, toda aplicación crítica depende de un sistema de almacenamiento estructurado, consistente y eficiente.

En Linux, los motores más utilizados son MySQL/MariaDB y PostgreSQL, cada uno con características específicas. Como Sysadmin, tu responsabilidad no es solo instalarlos, sino garantizar su seguridad, rendimiento, disponibilidad y mantenibilidad en producción.


Al finalizar este capítulo serás capaz de:

  • Comprender las diferencias entre motores de bases de datos.
  • Instalar y configurar MariaDB/MySQL y PostgreSQL.
  • Gestionar bases de datos y usuarios.
  • Realizar copias de seguridad y restauraciones.
  • Diagnosticar problemas comunes.
  • Aplicar buenas prácticas de seguridad y rendimiento.

Las bases de datos relacionales (RDBMS) organizan información en tablas.

Ejemplos:

  • MySQL / MariaDB
  • PostgreSQL

Características:

  • SQL como lenguaje estándar.
  • Soporte ACID (Atomicidad, Consistencia, Aislamiento, Durabilidad).

Característica MySQL/MariaDB PostgreSQL
Facilidad de uso Alta Media
Rendimiento web Excelente Muy bueno
Funcionalidades avanzadas Media Alta
Extensibilidad Limitada Muy alta

- MariaDB/MySQL → aplicaciones web clásicas
- PostgreSQL → sistemas complejos, analítica, integridad avanzada


Componentes principales:

  • Servidor (daemon) → gestiona conexiones
  • Clientes → interactúan con DB
  • Motor de almacenamiento (InnoDB, etc.)

  • MySQL/MariaDB → 3306
  • PostgreSQL → 5432

Archivos:

/etc/mysql/
/var/lib/mysql/
/etc/postgresql/
/var/lib/postgresql/

  • autenticación por usuario
  • control de acceso por IP
  • cifrado opcional

Configurar un servidor MariaDB:

  • crear base de datos
  • crear usuario
  • restringir accesos
  • validar conexión


Ventana de terminal
sudo apt update
sudo apt install mariadb-server

Ventana de terminal
systemctl status mariadb

Ventana de terminal
sudo mysql_secure_installation

Configura:

  • contraseña root
  • eliminar usuarios anónimos
  • desactivar acceso remoto root


Ventana de terminal
sudo mysql

CREATE DATABASE app_db;

CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'password_seguro';

GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'localhost';
FLUSH PRIVILEGES;

EXIT;

Ventana de terminal
mysql -u app_user -p app_db


Ventana de terminal
mysqldump -u root -p app_db > backup.sql

Ventana de terminal
mysql -u root -p app_db < backup.sql


Ventana de terminal
sudo apt install postgresql

Ventana de terminal
sudo -u postgres psql

CREATE DATABASE app_db;
CREATE USER app_user WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE app_db TO app_user;

Ventana de terminal
ss -tulnp | grep 3306

Verifica que el servicio está activo.


Error típico:

Access denied for user

Revisar:

  • usuario
  • contraseña
  • host

Ventana de terminal
journalctl -u mariadb

Posibles causas:

  • apagado abrupto
  • disco lleno

Editar:

Ventana de terminal
/etc/mysql/mariadb.conf.d/50-server.cnf
bind-address = 0.0.0.0

SHOW STATUS LIKE 'Threads_connected';

Crear usuarios específicos con permisos mínimos.


Ventana de terminal
mysqldump diario + cron/systemd

  • limitar acceso por IP
  • firewall activo
  • cifrado SSL si es necesario

  • uso de CPU
  • conexiones
  • queries lentas

Ejemplo en MariaDB:

innodb_buffer_pool_size=1G

Ventana de terminal
/var/log/mysql/error.log

  • servidor web ≠ servidor DB (en producción real)

  • replicación
  • clustering

Has aprendido a desplegar y gestionar bases de datos en Linux, incluyendo MariaDB y PostgreSQL, cubriendo desde instalación hasta seguridad y backups. Este conocimiento es esencial para cualquier entorno de producción moderno.

El siguiente paso es trabajar con intercambio de datos entre sistemas:

➡️ 8.3 Transferencia de Archivos, donde aprenderás a gestionar servicios como FTP, SFTP y herramientas modernas para mover datos de forma segura y eficiente.