Crear una base de datos MySQL desde la terminal
¿Por qué crear una BD desde la terminal?
Crear una base de datos desde la terminal te da más control y flexibilidad, especialmente si no tenés acceso a phpMyAdmin o preferís trabajar desde la línea de comandos.
Requisitos previos
Para crear una base de datos desde la terminal necesitás:
- ✅ Acceso SSH a tu servidor
- ✅ Usuario con permisos para crear bases de datos (generalmente root o un usuario con privilegios)
- ✅ MySQL o MariaDB instalado en el servidor
Paso 1: Conectarte al servidor por SSH
- Conectate a tu servidor usando SSH
- Ingresá con un usuario que tenga permisos de administrador
ssh [email protected]
Paso 2: Acceder a MySQL
Una vez conectado, ingresá a MySQL:
mysql -u root -p
Te pedirá la contraseña de root. Ingresala y presioná Enter.
Nota: Si usás un usuario diferente, reemplazá root por tu usuario.
Paso 3: Crear la base de datos
Una vez dentro de MySQL, ejecutá el siguiente comando:
CREATE DATABASE nombre_de_base_de_datos;
Ejemplo:
CREATE DATABASE mi_webapp;
Importante: No olvides el punto y coma (;) al final del comando.
Si todo salió bien, verás:
Query OK, 1 row affected (0.00 sec)
Paso 4: Crear un usuario y otorgar permisos (recomendado)
Es buena práctica crear un usuario específico para cada base de datos:
CREATE USER 'nombre_usuario'@'localhost' IDENTIFIED BY 'contraseña_segura';
Ejemplo:
CREATE USER 'usuario_app'@'localhost' IDENTIFIED BY 'MiContraseña123!';
Otorgá permisos completos sobre la base de datos:
GRANT ALL PRIVILEGES ON nombre_de_base_de_datos.* TO 'nombre_usuario'@'localhost';
Ejemplo:
GRANT ALL PRIVILEGES ON mi_webapp.* TO 'usuario_app'@'localhost';
Aplicá los cambios:
FLUSH PRIVILEGES;
Paso 5: Verificar que la base de datos se creó
Para ver todas las bases de datos:
SHOW DATABASES;
Deberías ver tu nueva base de datos en la lista.
Para ver los usuarios creados:
SELECT user, host FROM mysql.user;
Opción: Crear desde un solo comando
También podés crear la base de datos sin entrar a MySQL, ejecutando desde la terminal:
mysql -u root -p -e "CREATE DATABASE nombre_de_base_de_datos;"
Ejemplo:
mysql -u root -p -e "CREATE DATABASE mi_webapp;"
Te pedirá la contraseña y creará la base de datos directamente.
Configurar charset y collation
Para crear una base de datos con charset y collation específicos (recomendado para UTF-8):
CREATE DATABASE nombre_de_base_de_datos
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
Ejemplo:
CREATE DATABASE mi_webapp
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
Ventajas de utf8mb4:
- ✅ Soporta emojis y caracteres especiales
- ✅ Compatible con todos los idiomas
- ✅ Recomendado para aplicaciones modernas
Problemas comunes
Error "Access denied"
- Verificá que el usuario tenga permisos para crear bases de datos
- Usá el usuario root o un usuario con privilegios
- Verificá que la contraseña sea correcta
Error "database already exists"
- La base de datos ya existe
- Verificá con
SHOW DATABASES; - Usá un nombre diferente o eliminá la existente primero
Error de sintaxis
- Verificá que no falte el punto y coma (;) al final
- Verificá que no haya errores de escritura
- Verificá que los nombres no tengan espacios o caracteres especiales
Eliminar una base de datos
Si necesitás eliminar una base de datos:
DROP DATABASE nombre_de_base_de_datos;
⚠️ Advertencia: Esto eliminará permanentemente la base de datos y todos sus datos. Asegurate de tener un backup antes.
exit
O presioná CTRL + D
Consejos
- ✅ Usá nombres descriptivos para tus bases de datos
- ✅ Creá un usuario específico para cada base de datos
- ✅ Usá contraseñas fuertes para los usuarios
- ✅ Configurá charset utf8mb4 para soporte completo de caracteres
- ✅ Hacé backup antes de eliminar bases de datos
- ✅ Documentá los usuarios y permisos creados
¿Necesitás ayuda?
Si tenés problemas creando bases de datos o necesitás asistencia, abrí un ticket desde el panel de billing.baires.host o contactanos por soporte.
También podés escribirnos por nuestras redes:
- Instagram: @baires_host
- Discord (soporte activo): https://discord.gg/dzjauatAFN
- Linktree: https://linktr.ee/baires.host