Cómo Crear una Base de Datos MariaDB/MySQL y Usuario desde Terminal

mysql gestiona base datos terminal

En este tutorial te explicaremos paso a paso cómo crear una base de datos MariaDB o MySQL desde la terminal de Linux, dar de alta un nuevo usuario y asignarle los privilegios necesarios. Esta guía práctica está diseñada especialmente para administradores de sistemas e ingenieros que buscan rapidez y seguridad en sus despliegues en servidores de producción. Pede ser usada para la mayoria de las distribuciones linux (Debian, Ubuntu, RockyLinux, AlmaLinux, Fedora, etc).

1. Cómo acceder a la CLI de MySQL o MariaDB

Para gestionar tu base de datos MariaDB o usuarios, el primer paso es conectarte a la interfaz de línea de comandos (CLI) del motor de bases de datos.

Si te encuentras administrando el entorno de forma local a través de SSH, ejecuta el siguiente comando:

mysql -u root -p

Si requieres conectarte a un servidor remoto, deberás especificar la dirección IP o el Host correspondiente:

mysql -u [usuario] -p -h [IP_servidor]

Nota técnica importante: El parámetro para definir el host remoto es -h (minúscula). El uso de -H está destinado a exportar salidas en formato HTML.

2. Crear una nueva Base de Datos MariaDB/MySQL

Una vez que hayas ingresado tus credenciales y te encuentres dentro de la shell de base de datos MariaDB/MySQL, verás el promt como se muestra a continuación (MariaDB [(none)]>).

Base de datos MariaDB

Procederemos a crear la base de datos utilizando la sentencia CREATE DATABASE.

CREATE DATABASE nombre_de_tu_base_datos;

Consejo Técnico: Te sugerimos emplear guiones bajos en lugar de mayúsculas si quieres mantener consistencia y evitar problemas con la distinción de mayúsculas y minúsculas (case sensitivity) en ciertos sistemas operativos.

3. Crear un Usuario Seguro en MariaDB/MySQL

Por motivos estrictos de ciberseguridad, nunca utilices la cuenta 'root' para conectar tus aplicaciones (como WordPress o sistemas personalizados) a la base de datos. Crearemos un usuario exclusivo:

CREATE USER 'mi_usuario_web'@'localhost' IDENTIFIED BY 'Tu_Contrasena_Segura_Aqui';

💡 Recomendación de Seguridad: Genera contraseñas robustas con combinaciones alfanuméricas. Si trabajas con scripts automatizados en Bash o configuraciones de teclado internacionales, asegúrate de verificar que los caracteres especiales no rompan la cadena de conexión.

4. Asignar Permisos y Privilegios sobre la Base de Datos MariaDB

Ahora asociaremos el nuevo usuario con su respectiva base de datos otorgándole control total sobre ella mediante la instrucción GRANT ALL PRIVILEGES:

GRANT ALL PRIVILEGES ON nombre_de_tu_base_datos.* TO 'mi_usuario_web'@'localhost';

El comodín .* le indica al motor de base de datos que el usuario tendrá permisos sobre todas las tablas que se creen dentro de esa base de datos específica.

Aplicar cambios en el Servidor

Para finalizar, es fundamental limpiar los cachés internos de memoria del servidor y forzar la recarga de la tabla de accesos modificada. De lo contrario, los cambios podrían no reflejarse de inmediato:

FLUSH PRIVILEGES;

Para salir de la consola del motor, simplemente teclea:

EXIT;

¡Listo! Con estos simples pasos ya cuentas con un entorno aislado, una base de datos limpia y un usuario seguro con privilegios listos para operar en tu servidor Linux.

Para consultas avanzadas revisa la Documentación Oficial de MariaDB

🚀 Servidor Web LEMP (Nginx + MariaDB + PHP)

Preguntas frecuentes sobre la gestión de Base de Datos MariaDB y MySQL

1. ¿Qué pasa si olvido el comando FLUSH PRIVILEGES? Si no ejecutas FLUSH PRIVILEGES, es muy probable que el motor de base de datos no reconozca de inmediato los nuevos permisos asignados al usuario web. En consecuencia, tu aplicación (como WordPress o un desarrollo a medida) arrojará un error de conexión del tipo “Access denied for user” hasta que se reinicie el servicio del servidor o se limpie de forma manual la caché de privilegios.

2. ¿Cómo puedo listar la base de datos MariaDB creadas para verificar que todo está correcto? Una vez dentro de la shell de MySQL o MariaDB, puedes listar de manera global todas las bases de datos activas en la instancia ejecutando el comando:

SHOW DATABASES;

3. ¿Cómo puedo ver qué permisos específicos tiene asignados el usuario creado? Para realizar una auditoría rápida y validar los privilegios vigentes de una cuenta de usuario específica en tu servidor, utiliza la instrucción:

SHOW GRANTS FOR 'mi_usuario_web'@'localhost';

Buenas prácticas de seguridad para tus Bases de Datos

  • Aislar accesos: Siempre restringe el host del usuario. Si la base de datos MariaDB y el código web conviven en la misma máquina o contenedor, mantén el entorno configurado estrictamente en 'localhost'. Cambia a un segmento de red o IP específica únicamente si cuentas con un servidor dedicado exclusivo para bases de datos.
  • Principio de menor privilegio: En entornos reales de producción muy críticos, considera si la aplicación de verdad requiere permisos totales (ALL PRIVILEGES). Si el sistema solo consume información estática, otorgar únicamente SELECT, INSERT y UPDATE reducirá sustancialmente la superficie de ataque frente a posibles inyecciones de código SQL malicioso.

🚀 Servidor Web LAMP (Apache + MariaDB + PHP)

Publicaciones Similares