Todos los productos
Search
Centro de documentos

Data Transmission Service:Migrar cuentas de base de datos

Última actualización: Sep 05, 2026

Al migrar o sincronizar datos hacia una base de datos de destino, normalmente es necesario recrear manualmente todas las cuentas de la base de datos de origen. Este proceso consume mucho tiempo, requiere conocimientos avanzados de bases de datos y es propenso a omisiones. Data Transmission Service (DTS) automatiza esta tarea al migrar las cuentas de la base de datos de origen, incluidas sus contraseñas y privilegios, a la base de datos de destino como parte de la tarea de migración o sincronización.

Requisitos previos

Antes de empezar, asegúrese de que:

  • Las cuentas de las bases de datos de origen y de destino que se usan en la tarea de DTS cuenten con los privilegios obligatorios. Consulte Privilegios obligatorios para obtener los comandos de concesión exactos.

  • Se haya seleccionado Schema Migration o Schema Synchronization como tipo de migración o sincronización. Es decir, en el paso Configure Objects and Advanced Settings del asistente Create Task, debe estar seleccionada la opción Schema Synchronization para el parámetro Synchronization Types, o bien Schema Migration para el parámetro Migration Types.

Bases de datos compatibles

Las bases de datos MySQL pueden ser instancias de ApsaraDB RDS for MySQL o bases de datos MySQL autogestionadas.

Base de datos de origen

Base de datos de destino

MySQL

MySQL, PolarDB for MySQL

PolarDB for MySQL

MySQL, PolarDB for MySQL

Privilegios obligatorios

Para ejecutar la migración de cuentas, conceda los siguientes privilegios a las cuentas de la tarea de DTS tanto en la base de datos de origen como en la de destino.

Base de datos de origen

Ejecute los siguientes comandos con una cuenta privilegiada. Reemplace user por la cuenta que usa para configurar la tarea de DTS.

grant SELECT on mysql.user to user@'%';
grant SELECT on mysql.db to user@'%';
grant SELECT on mysql.columns_priv to user@'%';
grant SELECT on mysql.tables_priv to user@'%';

Base de datos de destino

Ejecute los siguientes comandos con una cuenta privilegiada. Reemplace user por la cuenta que usa para configurar la tarea de DTS.

grant SELECT on mysql.user to user@'%';
grant CREATE USER on *.* to user@'%';
grant GRANT OPTION on *.* to user@'%';

Habilitar la migración de cuentas

  1. En el paso Advanced Settings del asistente Create Task, establezca Whether to Migrate Accounts en Yes.

  2. Seleccione las cuentas que desea migrar.

    Los nombres de las cuentas siguen el formato <username>@<host> , donde <host> es el host desde el cual la cuenta puede conectarse.
  3. Complete el resto de la configuración de la tarea. Para más detalles, consulte Overview of data synchronization scenarios o Overview of data migration scenarios.

Resultados de la migración

Una vez ejecutada la tarea, cada cuenta presentará uno de los siguientes resultados:

  • Migrated: La cuenta y todos sus privilegios se migraron correctamente a la base de datos de destino.

  • Not migrated: La cuenta se omitió. Para consultar los detalles, vaya a la pestaña User_Privilege en el módulo Schema Migration de su tarea de DTS. Las cuentas que ya existen en la base de datos de destino aparecen como cuentas migradas con la anotación user already exists. Para conocer todas las condiciones que impiden la migración, consulte Limitaciones.

Limitaciones

Las siguientes condiciones impiden la migración de cuentas o afectan su comportamiento. Compruebe las condiciones aplicables a la versión de su base de datos y a los tipos de cuenta antes de ejecutar la tarea.

Versión de la base de datos de destino

  • Si la base de datos de destino es una instancia de MySQL 5.6 o un clúster de PolarDB for MySQL, la migración de cuentas no es compatible.

Restricciones para origen MySQL 8.0

  • Si la base de datos de origen es MySQL 8.0, no se pueden migrar las cuentas con privilegios dinámicos.

Restricciones de privilegios

  • No se pueden migrar a una base de datos de destino MySQL o PolarDB for MySQL las cuentas que tengan los privilegios RELOAD, CREATE TABLESPACE, FILE o ALL PRIVILEGES.

Restricciones por tipo de cuenta

  • No se pueden migrar las cuentas del sistema (root, mysql.infoschema, mysql.session, mysql.sys) ni las cuentas integradas. Si selecciona estas cuentas, la tarea de DTS devolverá el error Access denied for user 'XXXX'.

  • No se pueden migrar las cuentas que ya existen en la base de datos de destino. Si se reinicia una tarea de DTS o si hay varias tareas de DTS en ejecución, es posible que las cuentas pendientes de migrar ya existan en la base de datos de destino.

  • No se pueden migrar las cuentas no autorizadas.

Comportamiento posterior a la migración

  • No es posible restablecer las contraseñas de las cuentas durante la migración.

  • Las cuentas privilegiadas se convierten en cuentas estándar en la base de datos de destino y pierden los permisos de administración de la base de datos.

  • Se recomienda no migrar las cuentas de la instancia de base de datos de Alibaba Cloud de destino a las que solo se accede mediante localhost o 127.0.0.1, ya que estas cuentas no admiten la migración de datos.

Preguntas frecuentes

¿Por qué no puedo seleccionar una cuenta?

La cuenta es una cuenta del sistema o bien ya existe una cuenta con el mismo nombre en la base de datos de destino.

¿Por qué está vacía la lista de cuentas?

Las cuentas de la tarea de DTS no tienen los privilegios obligatorios en la base de datos de origen o de destino. Compruebe los privilegios mediante los comandos de concesión indicados en Privilegios obligatorios.