文档首页 > > 常见问题> 权限管理> DRS要求的MySQL权限有哪些

DRS要求的MySQL权限有哪些

分享
更新时间:2020/09/21 GMT+08:00

DRS在迁移、同步、灾备过程中,对帐号有一定的权限要求,本章节主要介绍MySQL引擎的权限要求。

权限要求

  • 源和目标库的连接账号需要具有登录权限,如果没有该账号,可以通过如下方式创建,以user1为例。

    参考语句:CREATE USER 'user1'@'host' IDENTIFIED BY 'password';

  • DRS的实时迁移实时同步实时灾备功能的权限要求,表1 权限要求中以user1为例提供参考语句。
    表1 权限要求及参考语句

    功能模块

    源/业务数据库

    目标/灾备数据库

    实时迁移

    全量迁移权限要求:

    SELECT、SHOW VIEW、EVENT

    参考语句:GRANT SELECT, SHOW VIEW, EVENT ON *.* TO 'user1';

    全量+增量迁移权限要求:

    SELECT、SHOW VIEW、EVENT、LOCK TABLES、REPLICATION SLAVE、REPLICATION CLIENT

    • 其中,REPLICATION SLAVE、REPLICATION CLIENT是全局权限,必须单独开启。参考语句如下:

      GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user1';

    • SELECT、SHOW VIEW、EVENT、LOCK TABLES是非全局权限,参考语句如下:

      GRANT SELECT, SHOW VIEW, EVENT, LOCK TABLES ON [待迁移数据库].* TO 'user1';

    全量迁移权限要求:

    SELECT、CREATE、ALTER、DROP、DELETE、INSERT、UPDATE、INDEX、EVENT、CREATE VIEW、CREATE ROUTINE、TRIGGER、WITH GRANT OPTION

    参考语句:GRANT SELECT, CREATE, ALTER, DROP, DELETE, INSERT, UPDATE, INDEX, EVENT, CREATE VIEW, CREATE ROUTINE, TRIGGER ON *.* TO 'user1' WITH GRANT OPTION;

    全量+增量迁移权限要求:

    SELECT、CREATE、ALTER、DROP、DELETE、INSERT、UPDATE、INDEX、EVENT、CREATE VIEW、CREATE ROUTINE、TRIGGER、WITH GRANT OPTION

    参考语句:GRANT SELECT, CREATE, ALTER, DROP, DELETE, INSERT, UPDATE, INDEX, EVENT, CREATE VIEW, CREATE ROUTINE, TRIGGER ON [待迁移数据库].* TO 'user1' WITH GRANT OPTION;

    实时同步

    SELECT、SHOW VIEW、EVENT、LOCK TABLES、REPLICATION SLAVE、REPLICATION CLIENT

    • 其中,REPLICATION SLAVE、REPLICATION CLIENT是全局权限,必须单独开启。参考语句如下:

      GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user1';

    • SELECT、SHOW VIEW、EVENT、LOCK TABLES是非全局权限,参考语句如下:

      GRANT SELECT, SHOW VIEW, EVENT, LOCK TABLES ON [待同步数据库].* TO 'user1';

    SELECT、CREATE、DROP、DELETE、INSERT、UPDATE

    参考语句:GRANT SELECT, CREATE, DROP, DELETE, INSERT, UPDATE ON [待同步数据库].* TO 'user1';

    实时灾备

    SELECT、CREATE、ALTER、DROP、DELETE、INSERT、UPDATE、SHOW VIEW、EVENT、INDEX、LOCK TABLES、CREATE VIEW、 CREATE ROUTINE、 ALTER ROUTINE、 CREATE USER、RELOAD、REPLICATION SLAVE、REPLICATION CLIENT、WITH GRANT OPTION

    参考语句:GRANT SELECT,CREATE,ALTER,DROP,DELETE,INSERT,UPDATE,SHOW VIEW,EVENT,INDEX,LOCK TABLES,CREATE VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,RELOAD,REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'user1';

    SELECT、CREATE、ALTER、DROP、DELETE、INSERT、UPDATE、SHOW VIEW、EVENT、INDEX、LOCK TABLES、CREATE VIEW、 CREATE ROUTINE、 ALTER ROUTINE、 CREATE USER、RELOAD、REPLICATION SLAVE、REPLICATION CLIENT、WITH GRANT OPTION

    参考语句:GRANT SELECT、CREATE、ALTER、DROP、DELETE、INSERT、UPDATE、SHOW VIEW、EVENT、INDEX、LOCK TABLES、CREATE VIEW、 CREATE ROUTINE、 ALTER ROUTINE、 CREATE USER、RELOAD、REPLICATION SLAVE、REPLICATION CLIENT ON *.* TO 'user1'@'%' WITH GRANT OPTION;

    请在以上参考语句后执行flush privileges;使授权生效。

  • 用户迁移权限要求

    用户迁移时,当源数据库为非阿里云数据库时,帐户需要有mysql.user的SELECT权限,源数据库为阿里云数据库,则帐户需要同时具有mysql.user和mysql.user_view的SELECT权限。

    参考语句:

    GRANT SELECT ON mysql.user TO 'user1'@'host' ;

    GRANT SELECT ON mysql.user_view TO 'user1';

    目标数据库帐户需要有mysql库的SELECT,INSERT,UPDATE,DELETE, WITH GRANT OPTION权限。

    参考语句:GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'u1' WITH GRANT OPTION;

授权操作说明

  • 创建用户

    操作方式:

    CREATE USER 'username'@'host' IDENTIFIED BY 'password';

    · username:待创建的账号。

    · host:允许该账号登录的主机,如果允许该账号从任意主机登录数据库,可以使用%。

    · password:账号的密码。

    例如:授予drsmigration账号具备所有数据库和表的所有权限,并允许从任意主机登录数据库,命令如下。

    CREATE USER 'drsmigration'@'%' IDENTIFIED BY 'Drs123456';

  • 授予相应权限

    操作方式:

    GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

    flush privileges;

    · privileges:授予该账号的操作权限,如SELECT、INSERT、UPDATE等,如果要授予该账号所有权限,则使用ALL

    · databasename:数据库名。如果要授予该账号具备所有数据库的操作权限,则使用*。

    · tablename:表名。如果要授予该账号具备所有表的操作权限,则使用*。

    · username:待授权的账号。

    · host:允许该账号登录的主机,如果允许该账号从任意主机登录,则使用%。

    · WITH GRANT OPTION:授予该账号使用GRANT命令的权限,该参数为可选。

    例如:创建一个账号,账号名为drsmigration,密码为Drs123456,并允许从任意主机登录数据库,命令如下。

    GRANT ALL ON *.* TO 'drsmigration'@'%';

分享:

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问