🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo crear una base de datos MySQL en DirectAdmin (y conectarla a PHP)

Actualizado el 11 de marzo de 2026

¿Qué es una base de datos MySQL y por qué la necesitas?

Imagina que tu web es una tienda. Los archivos HTML, CSS y JavaScript son el escaparate: lo que ve el cliente. Pero, ¿dónde guardas el inventario, los precios o los datos de tus clientes? Ahí es donde entra la base de datos. Es el almacén donde tu sitio guarda toda la información de forma organizada.

En el contexto del hosting, MySQL es el sistema de gestión de bases de datos más popular. Es el "encargado del almacén" que ordena, guarda y recupera la información cuando tu web se lo pide. Casi todos los gestores de contenido (como WordPress, Joomla o PrestaShop) y la mayoría de aplicaciones PHP necesitan una base de datos MySQL para funcionar.

DirectAdmin es uno de los paneles de control de hosting más utilizados. Su interfaz es limpia y, una vez que sabes dónde mirar, crear y gestionar una base de datos es un proceso muy sencillo. Este tutorial está pensado para que, aunque seas principiante, puedas hacerlo sin miedo y sin romper nada.

Vamos a ver, paso a paso, cómo crear una base de datos MySQL en DirectAdmin, cómo crear un usuario con permisos y, finalmente, cómo conectarla a tu código PHP para que todo funcione en armonía.

Primeros pasos: Accede a tu panel de DirectAdmin

Para empezar, necesitas estar dentro de tu panel de control. Normalmente, la URL de acceso es algo como https://tu-dominio.com:2222 o la IP de tu servidor seguida de :2222. Si no estás seguro, revisa el correo de bienvenida de tu proveedor de hosting.

Una vez dentro, verás una cuadrícula de iconos. Busca el que dice MySQL Management (o "Gestión de MySQL"). Suele tener un icono de un delfín (el logo de MySQL). Haz clic en él.

Dentro de esta sección, verás dos pestañas principales: Create New Database (Crear nueva base de datos) y MySQL Users (Usuarios MySQL). Tómate un momento para explorar. Verás que también hay una lista de las bases de datos que ya tienes creadas, si es que tienes alguna.

Cómo crear una base de datos MySQL en DirectAdmin: Paso a paso

Este es el proceso principal. La opción de crear una base de datos MySQL en DirectAdmin es muy intuitiva. Sigue estos pasos:

  1. Ve a "MySQL Management": Desde el panel principal, haz clic en el icono correspondiente.
  2. Selecciona la pestaña "Create New Database": Es la primera opción que verás.
  3. Rellena el nombre de la base de datos: En el campo "Database Name", escribe el nombre que quieras. Ojo: DirectAdmin automáticamente le añadirá un prefijo, que suele ser tu nombre de usuario de hosting (ej. usuario_miweb). No intentes quitar ese prefijo, es una medida de seguridad. Elige un nombre descriptivo, como blog o tienda.
  4. Crea un usuario para la base de datos: En el campo "User Name", escribe el nombre del usuario que se conectará a la base de datos. Puede ser el mismo nombre que el de la base o uno diferente, como usuarioblog.
  5. Establece una contraseña segura: En el campo "Password", escribe una contraseña robusta. Lo ideal es que combine mayúsculas, minúsculas, números y símbolos. DirectAdmin tiene un botón al lado llamado "Generate" que te crea una contraseña aleatoria muy segura. Guárdala en un lugar seguro, la necesitarás en el siguiente paso y para configurar tu web.
  6. Haz clic en "Create Database": Una vez rellenado todo, pulsa el botón. Verás un mensaje de confirmación en verde.

¡Listo! Ya has creado tu base de datos. Pero espera, no es suficiente. La base de datos está vacía y, aunque hayas creado un usuario, ese usuario aún no tiene permiso para entrar a la base de datos. Ahora toca conectarlos.

Conectando el usuario a la base de datos (Permisos)

Este es un paso que mucha gente olvida, pero es crucial. No basta con crear la base de datos y el usuario por separado. Tienes que decirle a MySQL "este usuario puede acceder a esta base de datos".

Aquí te explico cómo hacerlo, que es la forma más segura:

  1. Ve a la pestaña "MySQL Users": Dentro de la sección de gestión de MySQL, haz clic en esta pestaña.
  2. Busca a tu usuario en la lista: Verás una tabla con todos los usuarios que has creado. En la columna "User", busca el nombre que acabas de crear.
  3. Haz clic en el icono "Edit" (Lápiz): Este icono suele estar al final de la fila de tu usuario.
  4. Selecciona tus bases de datos: En la nueva pantalla, verás una lista de todas tus bases de datos. Marca la casilla de verificación que corresponde a la base de datos que acabas de crear.
  5. Asigna los privilegios: Justo debajo, verás una lista de permisos (ALL PRIVILEGES, SELECT, INSERT, UPDATE, DELETE, etc.). Para la mayoría de las aplicaciones (como WordPress), lo más fácil es marcar la casilla ALL PRIVILEGES. Esto le da al usuario control total sobre esa base de datos, que es justo lo que tu aplicación PHP necesitará.
  6. Guarda los cambios: Pulsa el botón "Save" o "Update".

[TIP] Si tu aplicación es muy específica y quieres ser más restrictivo, puedes marcar solo los permisos que necesite. Por ejemplo, si tu web solo lee datos y nunca escribe, con SELECT bastaría. Pero para un desarrollo normal, ALL PRIVILEGES es la opción más cómoda y evita problemas de "permission denied" más adelante.

¿Y si mi aplicación necesita un usuario para varias bases de datos?

No hay problema. Sigue el mismo proceso. En el paso 4, marca todas las bases de datos a las que quieras que el usuario tenga acceso. Luego, asigna los permisos que consideres necesarios para cada una (pueden ser diferentes).

Conectar PHP a MySQL: La clave para que todo cobre vida

Ahora que ya tienes la base de datos y el usuario con permisos, es hora de pasar a la parte de programación. Aquí es donde tu sitio web (escrito en PHP) podrá hablar con tu base de datos.

Existen dos formas principales de hacerlo: usando la extensión MySQLi (recomendada) o usando PDO (PHP Data Objects). Ambas son válidas, pero MySQLi es más sencilla para principiantes y PDO es más flexible si quieres cambiar de base de datos en el futuro. Te mostraré ambas para que elijas la que más te guste.

Método 1: Conexión con MySQLi (Simple y directa)

Este es el método más común y el que verás en la mayoría de tutoriales. Es perfecto para empezar.

<?php
// Datos de conexión (¡cámbialos por los tuyos!)
$host = "localhost"; // O la dirección del servidor de tu base de datos
$usuario = "tu_usuario";
$contrasena = "tu_contrasena";
$base_de_datos = "tu_base_de_datos";

// Crear conexión
$conn = new mysqli($host, $usuario, $contrasena, $base_de_datos);

// Verificar la conexión
if ($conn->connect_error) {
    die("Conexión fallida: " . $conn->connect_error);
}
echo "Conexión exitosa";
?>

Explicación línea por línea:

  1. $host = "localhost": En la mayoría de los casos de hosting compartido, el host de la base de datos es localhost. Esto significa que la base de datos está en el mismo servidor que tu web. No lo cambies a menos que tu proveedor te diga lo contrario.
  2. $usuario, $contrasena, $base_de_datos: Aquí pones los datos que creaste en DirectAdmin. Recuerda que el nombre de usuario y de la base de datos llevan el prefijo (ej. usuario_miweb).
  3. new mysqli(...): Esto crea un nuevo objeto de conexión.
  4. $conn->connect_error: Si la conexión falla, este atributo tendrá un valor. La función die() detiene la ejecución del script y muestra el error. En un entorno de producción, no deberías mostrar errores directamente, pero para pruebas está bien.

Método 2: Conexión con PDO (Más moderno y seguro)

PDO ofrece una capa de abstracción, lo que significa que el código es más portable. Además, utiliza sentencias preparadas que ayudan a prevenir ataques de inyección SQL.

<?php
// Datos de conexión
$host = "localhost";
$usuario = "tu_usuario";
$contrasena = "tu_contrasena";
$base_de_datos = "tu_base_de_datos";

try {
    // Crear conexión PDO
    $conn = new PDO("mysql:host=$host;dbname=$base_de_datos;charset=utf8mb4", $usuario, $contrasena);
    
    // Configurar el modo de error para que lance excepciones
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Conexión exitosa";
} catch (PDOException $e) {
    die("Error de conexión: " . $e->getMessage());
}
?>

¿Por qué PDO es recomendado?

  • Seguridad: Es más fácil escribir código seguro con PDO.
  • Flexibilidad: Si algún día cambias de MySQL a PostgreSQL, solo tendrías que cambiar la línea de conexión.
  • Manejo de errores: Usa excepciones, lo que te da más control sobre los errores.

[WARNING] Nunca subas a producción un script que muestre errores directamente en pantalla, como los de los ejemplos anteriores. La información de la base de datos (usuario, host) es sensible. En su lugar, guarda los errores en un archivo de registro (log) o muéstralos de forma genérica como "Error al conectar con la base de datos".

Cómo gestionar tu base de datos en DirectAdmin: Más allá de la creación

Una vez que tu base de datos está creada y conectada, necesitarás gestionarla. DirectAdmin incluye una herramienta llamada phpMyAdmin, que es una interfaz web para administrar MySQL.

Acceder a phpMyAdmin

Desde el panel de DirectAdmin, en la sección de MySQL Management, verás un icono o botón que dice "phpMyAdmin". Haz clic en él. Se abrirá una nueva pestaña en tu navegador con la herramienta.

Tareas comunes en phpMyAdmin

  • Importar una base de datos: Si tienes un archivo .sql (por ejemplo, de una copia de seguridad o de un script que has comprado), puedes importarlo aquí. Ve a la pestaña "Importar", selecciona el archivo y pulsa "Continuar".
  • Exportar una base de datos: Es el proceso inverso. Te permite descargar un archivo .sql con toda la estructura y los datos de tu base de datos. Esencial para hacer copias de seguridad.
  • Ejecutar consultas SQL: Si sabes SQL, puedes ejecutar consultas manualmente en la pestaña "SQL". Esto es muy útil para hacer cambios rápidos o solucionar problemas.
  • Ver y editar datos: Puedes navegar por las tablas de tu base de datos, ver los registros, editarlos o borrarlos. Ten mucho cuidado al hacer esto, ya que un borrado accidental puede ser desastroso.

[INFO] Siempre es una buena práctica hacer una copia de seguridad de tu base de datos antes de realizar cualquier cambio importante, ya sea en la configuración de tu web o directamente en phpMyAdmin.

Solución de problemas comunes (FAQ)

Aquí tienes las dudas más habituales que nos suelen llegar al soporte. Seguro que alguna te suena.

"Access denied for user 'usuario'@'localhost'"

Este es el error más común. Significa que el usuario que estás usando no tiene permisos para acceder a la base de datos.

  • Solución: Revisa que el nombre de usuario es exactamente el mismo que creaste en DirectAdmin (con el prefijo).
  • Solución: Ve a la pestaña "MySQL Users" en DirectAdmin, edita tu usuario y asegúrate de que la casilla de tu base de datos esté marcada. Este es el paso que más se olvida.

"Unknown database 'nombre_base_datos'"

Este error indica que la base de datos a la que intentas conectarte no existe.

  • Solución: Revisa el nombre de la base de datos en tu código PHP. Recuerda que lleva el prefijo de tu usuario (ej. usuario_miweb). Ve a DirectAdmin y comprueba que el nombre es correcto.

"Connection refused" o "Can't connect to MySQL server"

Esto suele significar que el servidor de base de datos no está accesible. Puede ser por varias razones.

  • Solución: Comprueba que el $host es correcto. En el 99% de los casos es localhost. Si tu proveedor usa un servidor de base de datos externo, te lo habrá indicado en el correo de bienvenida.
  • Solución: Asegúrate de que tu plan de hosting no haya sido suspendido temporalmente por algún motivo.

¿Cómo cambio la contraseña de mi usuario de MySQL?

  1. Ve a MySQL Management > MySQL Users.
  2. Haz clic en el icono de editar (lápiz) de tu usuario.
  3. En el campo "Password", escribe una nueva contraseña y confírmala.
  4. Guarda los cambios.
  5. Importante: Si tu web ya está usando la contraseña anterior, tendrás que actualizarla también en el archivo de configuración de tu aplicación (por ejemplo, en el wp-config.php de WordPress).

¿Puedo tener varias bases de datos en mi plan de hosting?

Depende de tu plan. La mayoría de los planes de hosting incluyen un número limitado de bases de datos. Puedes ver cuántas tienes disponibles en DirectAdmin, en la propia sección de "MySQL Management". Si necesitas más, tendrás que contactar con tu proveedor para ampliar el plan.

Conclusión y buenas prácticas

Crear una base de datos MySQL en DirectAdmin es un proceso sencillo si sigues los pasos en orden: crear base, crear usuario, asignar permisos y conectar. Con la práctica, lo harás en menos de un minuto.

Para terminar, te dejo con algunas buenas prácticas que te ahorrarán muchos dolores de cabeza:

  1. Usa contraseñas únicas y seguras para cada base de datos. No reutilices la misma contraseña para todo.
  2. Haz copias de seguridad periódicas. DirectAdmin tiene una herramienta para ello, o puedes hacerlo desde phpMyAdmin. Es tu red de seguridad.
  3. No compartas tus credenciales de acceso a DirectAdmin ni a phpMyAdmin con nadie que no sea de confianza.
  4. Mantén tu software actualizado (WordPress, plugins, etc.) para evitar vulnerabilidades que puedan comprometer tu base de datos.

Si has llegado hasta aquí, ya tienes el conocimiento para gestionar tus bases de datos como un profesional. Ahora, ¡a crear cosas increíbles con tu web!

[TIP] Si tienes problemas con la conexión y has verificado todos los pasos, a veces un simple reinicio del servidor (desde DirectAdmin) puede solucionar problemas temporales. Es el clásico "¿lo has apagado y encendido?" pero aplicado al hosting.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel