MySQL需要具备哪些权限才能完成数据传输?
在使用DTS执行MySQL的数据传输时,需要区分是迁移还是同步任务,MySQL是源库还是目标库,根据不同的情况,来准备相关的权限。
数据迁移
| 数据库 | 所需权限 | 参考赋权语句 |
|---|---|---|
| 源库 |
| GRANT SELECT ON mysql. TO '迁移账号'@'%'; GRANT SELECT, SELECT ON 待迁移的库. TO '迁移账号'@'%'; GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT, REPLICATION SLAVE, SHOW VIEW, PROCESS ON . TO '迁移账号'@'%'; |
| 目标库 |
| GRANT ALTER, ALTERROUTINE, CREATE, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE USER, CREATE VIEW, DELETE, DROP, EVENT, EXECUTE, INDEX, INSERT, LOCK TABLES, PROCESS, REFERENCES, RELOAD, SELECT, SHOW DATABASES, SHOW VIEW, TRIGGER, UPDATE ON*.*TO '迁移账号'@'%'; |
数据同步
| 数据库 | 所需权限 | 参考赋权语句 |
|---|---|---|
| 源库 |
| GRANT SELECT ON mysql.*TO '同步账号'@'%'; GRANT SELECT , EVENT ON 待同步的库. TO '同步账号'@'%'; GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT, REPLICATION SLAVE, SHOW VIEW, PROCESS ON .*TO '同步账号'@'%'; |
| 目标库 |
| GRANT ALTER, ALTER ROUTINE, CREATE, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE USER, CREATE VIEW, DELETE, DROP, EVENT, EXECUTE, INDEX, INSERT, LOCK TABLES, PROCESS, REFERENCES, RELOAD, SELECT, SHOW DATABASES, SHOW VIEW, TRIGGER, UPDATE ON*.*TO '同步账号'@'%'; |
定时任务是否需要特定权限的用户才可以执行?
天翼云DTS支持配置迁移/同步任务时,按需开启定时任务,用户可以配置在特定的时间节点启动任务。定时任务的开启/关闭,和当前登录账号权限无关。也即所有天翼云官网门户经过实名认证的个人/企业账号均可以在配置DTS任务时按需开启定时功能。
DTS任务运行过程中为什么提示账号权限不足?
DTS要正常完成数据迁移/同步,需要迁移/同步账号具备一定的权限。一旦账号权限不足,就可能导致数据传输失败。为确保数据传输正常进行,请给待迁移/同步账号赋予特定的权限,具体可参照:
将MySQL迁移到MySQL的【数据库账号及权限】部分内容。
将PostgreSQLl迁移到PostgreSQL的【数据库账号及权限】部分内容。
将MySQL同步到MySQL的【数据库账号及权限】部分内容。