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

Cómo cambiar el propietario de una base de datos en DirectAdmin

Actualizado el 17 de septiembre de 2025

¿Por qué necesitas cambiar el propietario de una base de datos en DirectAdmin?

Cuando gestionas un servidor con DirectAdmin, es muy común que en algún momento necesites transferir la propiedad de una base de datos MySQL de un usuario a otro. Esto suele pasar cuando:

  • Compras o vendes un dominio y necesitas mover todas sus aplicaciones (como WordPress) a otra cuenta.
  • Tienes varios usuarios en tu servidor y quieres reorganizar los recursos.
  • Un cliente te pide que su web pase a estar bajo su propia cuenta de hosting.
  • Quieres centralizar la gestión de varias bases de datos bajo un solo usuario de DirectAdmin.

El problema es que DirectAdmin no ofrece un botón mágico para hacer este cambio directamente desde la interfaz gráfica. Pero no te preocupes, porque con este instructivo paso a paso vas a aprender a hacerlo de forma segura, sin perder datos y sin romper tus aplicaciones.

A lo largo de esta guía te explicaré dos métodos: uno para usuarios con acceso a la terminal (SSH) y otro para quienes solo tienen acceso al panel. Además, te daré consejos para evitar errores comunes.


Conceptos básicos que debes entender antes de empezar

Antes de lanzarnos a ejecutar comandos, es fundamental que entiendas cómo funciona la estructura de bases de datos en DirectAdmin.

¿Qué es el propietario de una base de datos?

En DirectAdmin, cada base de datos MySQL está asociada a un usuario de DirectAdmin (no confundir con el usuario de MySQL). Este propietario es quien tiene control total sobre la base de datos desde el panel: puede borrarla, crear backups, gestionar usuarios MySQL, etc.

¿Qué es un usuario MySQL?

Además del propietario de DirectAdmin, cada base de datos tiene uno o más usuarios MySQL con permisos específicos (SELECT, INSERT, UPDATE, DELETE...). Normalmente, cuando creas una base de datos en DirectAdmin, se crea automáticamente un usuario MySQL con el mismo nombre que la base de datos (por ejemplo, usuario_basedatos).

¿Qué implica cambiar el propietario?

Cuando cambias el propietario de una base de datos en DirectAdmin, estás moviendo el control administrativo de esa base de datos a otra cuenta de DirectAdmin. Esto implica:

  • La base de datos aparecerá en el panel del nuevo propietario.
  • El antiguo propietario perderá el acceso desde su panel.
  • Los usuarios MySQL asociados deberán ser recreados o transferidos manualmente.
  • Las aplicaciones que usan esa base de datos (como WordPress) necesitarán actualizar sus archivos de configuración (como wp-config.php) con los nuevos datos de conexión.

Método 1: Transferir la base de datos usando SSH (recomendado para usuarios avanzados)

Este método es el más fiable y te permite hacer el cambio sin depender de herramientas externas. Eso sí, necesitas tener acceso SSH a tu servidor y conocimientos básicos de línea de comandos.

[!WARNING]
Antes de empezar, haz un backup completo de la base de datos. Un error aquí puede provocar la pérdida total de datos. Puedes hacerlo desde DirectAdmin > MySQL Management > Backup, o usando mysqldump en la terminal.

Paso 1: Identifica los datos actuales

Conéctate por SSH a tu servidor y ejecuta:

mysql -u admin -p

Te pedirá la contraseña del usuario admin de MySQL (suele ser la misma que la del usuario principal de DirectAdmin). Una vez dentro, ejecuta:

SHOW DATABASES;

Anota el nombre exacto de la base de datos que quieres transferir. También necesitarás saber el usuario MySQL asociado. Puedes verlo con:

SELECT User, Host FROM mysql.user;

Paso 2: Exporta la base de datos

Sal de MySQL (exit;) y ejecuta el siguiente comando para exportar la base de datos a un archivo:

mysqldump -u admin -p nombre_base_datos > /tmp/base_datos_backup.sql

Reemplaza nombre_base_datos por el nombre real. Esto creará un archivo SQL con toda la información.

Paso 3: Crea la nueva base de datos y usuario MySQL

Ahora necesitas crear la base de datos en la cuenta del nuevo propietario. Conéctate a MySQL de nuevo:

mysql -u admin -p

Ejecuta estos comandos (reemplaza los valores):

CREATE DATABASE nuevo_usuario_nueva_base;
CREATE USER 'nuevo_usuario'@'localhost' IDENTIFIED BY 'contraseña_segura';
GRANT ALL PRIVILEGES ON nuevo_usuario_nueva_base.* TO 'nuevo_usuario'@'localhost';
FLUSH PRIVILEGES;

[!TIP]
Elige una contraseña fuerte para el nuevo usuario MySQL. Puedes usar generadores online o el comando openssl rand -base64 12 en la terminal.

Paso 4: Importa los datos

Ahora importa el backup que hiciste antes:

mysql -u admin -p nuevo_usuario_nueva_base < /tmp/base_datos_backup.sql

Esto copiará todas las tablas y datos a la nueva base de datos.

Paso 5: Elimina o renombra la base de datos antigua

Una vez verificado que todo está correcto, puedes eliminar la base de datos original. Pero antes, asegúrate de que la aplicación que la usa apunta a la nueva base. Si es un WordPress, edita el archivo wp-config.php y cambia:

  • DB_NAME → nombre de la nueva base.
  • DB_USER → nuevo usuario MySQL.
  • DB_PASSWORD → nueva contraseña.

Después de actualizar la configuración, borra la base antigua:

mysql -u admin -p -e "DROP DATABASE nombre_base_datos;"

[!WARNING]
No ejecutes el DROP DATABASE sin antes verificar que la aplicación funciona correctamente con la nueva base de datos. Si algo falla, podrías quedarte sin datos y sin acceso a tu web.


Método 2: Transferir la base de datos usando phpMyAdmin (sin SSH)

Si no tienes acceso SSH, puedes hacer una transferencia manual usando phpMyAdmin, que está disponible en DirectAdmin. Este método es más lento pero igual de efectivo.

Paso 1: Accede a phpMyAdmin

Entra en DirectAdmin → MySQL Management → haz clic en phpMyAdmin. Inicia sesión con las credenciales de administrador de MySQL.

Paso 2: Exporta la base de datos original

En el panel izquierdo, selecciona la base de datos que quieres transferir. Ve a la pestaña Exportar y elige el método Rápido. Deja el formato en SQL y haz clic en Continuar. Se descargará un archivo .sql.

Paso 3: Crea la nueva base de datos desde DirectAdmin

Vuelve a DirectAdmin. En la cuenta del nuevo propietario, ve a MySQL Management y crea una nueva base de datos con el nombre que prefieras. Anota el nombre de la base y el usuario MySQL que se crea automáticamente (suele tener el formato nuevo_usuario_nombrebase).

Paso 4: Importa el archivo SQL

Entra de nuevo en phpMyAdmin pero ahora dentro de la cuenta del nuevo propietario. Selecciona la base de datos recién creada, ve a Importar, selecciona el archivo .sql que descargaste y haz clic en Continuar.

Paso 5: Actualiza la configuración de tu aplicación

Al igual que en el método anterior, tendrás que cambiar los datos de conexión en tu aplicación. Busca el archivo de configuración (para WordPress es wp-config.php, para Joomla es configuration.php, etc.) y actualiza:

  • Nombre de la base de datos.
  • Usuario MySQL.
  • Contraseña.

Paso 6: Elimina la base de datos antigua

Una vez que compruebes que la web funciona con la nueva base, ve a la cuenta del antiguo propietario y elimina la base de datos original desde MySQL Management.

[!INFO]
Este método manual es útil para bases de datos pequeñas (menos de 100 MB). Si tu base de datos es muy grande, la importación puede fallar por tiempo de ejecución. En ese caso, usa siempre SSH.


Errores comunes y cómo evitarlos

Error 1: "Access denied for user"

Esto ocurre cuando la aplicación intenta conectarse con un usuario MySQL que no existe o tiene permisos incorrectos. Verifica que el usuario MySQL esté creado y tenga permisos sobre la base de datos.

Error 2: "Table doesn't exist"

Si la importación no se completó correctamente, puede que solo se importaran algunas tablas. Repite la importación y revisa que no haya errores en el proceso.

Error 3: La web muestra "Error establishing a database connection"

Este es el error clásico de WordPress cuando los datos de conexión son incorrectos. Revisa el archivo wp-config.php y asegúrate de que los valores coinciden exactamente con los nuevos datos.

Error 4: El nuevo propietario no ve la base de datos

Si la base de datos no aparece en el panel del nuevo propietario, es posible que no se haya creado correctamente. Vuelve a crear la base de datos desde su cuenta y verifica que el nombre no contenga caracteres especiales.


Preguntas frecuentes (FAQ)

¿Puedo cambiar el propietario de una base de datos sin perder los datos?

Sí, siempre que hagas un backup previo y sigas los pasos de exportación e importación correctamente. La clave está en no borrar la base original hasta que la nueva funcione perfectamente.

¿Qué pasa con los usuarios MySQL que tenía asociados?

Los usuarios MySQL no se transfieren automáticamente. Deberás crearlos de nuevo en la cuenta del nuevo propietario y otorgarles los mismos permisos. Es recomendable usar los usuarios que se generan automáticamente al crear la base en DirectAdmin.

¿Puedo cambiar el propietario de varias bases de datos a la vez?

Sí, puedes repetir el proceso para cada base de datos. Si son muchas, te recomiendo escribir un script en bash para automatizarlo, pero eso ya es más avanzado.

¿DirectAdmin tiene una opción nativa para esto?

No, actualmente DirectAdmin no ofrece una función directa para cambiar el propietario de una base de datos. Por eso es necesario usar SSH o phpMyAdmin.

¿Afecta esto al SEO de mi web?

No directamente. El SEO no se ve afectado por el cambio de propietario de la base de datos, siempre que la web funcione correctamente después del cambio. Sin embargo, si la web se cae durante el proceso o pierdes datos, sí podría afectar tu posicionamiento temporalmente. Por eso es tan importante hacer backups.


Consejos finales y buenas prácticas

Para terminar, aquí tienes algunos consejos que te ahorrarán dolores de cabeza:

  • Haz siempre un backup antes de cualquier cambio. Este consejo no es opcional, es obligatorio.
  • Prueba la aplicación después del cambio antes de eliminar la base antigua.
  • Usa contraseñas seguras para los nuevos usuarios MySQL.
  • Documenta los cambios que hagas: anota los nombres de bases, usuarios y contraseñas en un lugar seguro.
  • Si usas Syspanel (antes conocido como HestiaCP) en algún servidor, recuerda que el acceso a su panel es por el puerto 2106, pero el proceso de transferencia de bases de datos es similar al de DirectAdmin.

[!TIP]
Si no te sientes seguro haciendo esto por tu cuenta, contacta con tu proveedor de hosting. Muchos ofrecen este servicio de forma gratuita o por un costo mínimo, y te ahorrarás el riesgo de cometer un error.


Conclusión

Cambiar el propietario de una base de datos en DirectAdmin es un proceso que requiere atención al detalle y paciencia, pero no es imposible. Con los dos métodos que te he mostrado (SSH y phpMyAdmin), tienes opciones tanto si eres un usuario avanzado como si solo tienes acceso al panel.

Recuerda siempre la regla de oro: backup, backup y backup. Una vez que domines este proceso, podrás gestionar tus bases de datos con total confianza y sin depender de nadie.

Si te ha quedado alguna duda, no dudes en consultar la documentación oficial de DirectAdmin o contactar con tu proveedor de hosting. ¡Buena suerte con tu transferencia!

¿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