mysql迁移OB的mysql租户,源库的用户和权限怎么迁移?

mysql迁移OB的mysql租户,源库的用户和权限怎么迁移?
使用oms迁移,迁移对象中没有user表

2 个赞

用户和权限需自行创建

2 个赞

帐号创建命令行,基本是一样的。

3 个赞

需要注意mysql的用户限制,user@host。
在obmysql租户,一般都是 user@%。如果进行ip限制,可以通过OCP白屏中租户白名单中设置。

4 个赞

show grants 语句把源端权限导出为SQL语句,然后目标端source即可

3 个赞

权限需要自己手动执行

2 个赞

直接导出SQL语句,在租户下面执行应该就可以吧

1 个赞

show grants for user命令

1 个赞
  1. 用户少,可以使用show grants for xxxx 命令,并将获取结果在目标库中创建用户,并将赋权复制,并粘贴到目标库中
  2. 用户多,就需要使用拼接命令,将查询的结果导出。在目标库中执行一次
    obclient 客户端
    1) 在源端获取创建用户命令
    obclient -hIP 地址 -P3306 -uroot@租户名@集群名 -pxxxx -N -e “select concat('create user ‘,user,’ identified by 密码; ’ )from mysql.user where user not in (‘root’)” >>create_user.sql
    把不需要创建的用户放在in 后面的()内
    2) 在源端获取需要查看授权的用户
    obclient -hIP 地址 -P3306 -uroot@租户名@集群名 -pxxxx -N -e “select concat(‘show grants for ‘,user,’ ;’)from mysql.user where user not in (‘root’)” >>user_grants.sql
  1. 将步骤2)执行结果,再执行一次获取用户授权
    obclient -hIP 地址 -P3306 -uroot@租户名@集群名 -pxxxx -N -e " source user_grants.sql" >>grant_result.sql
    将步骤1)与3)的结果导入到目标库中
    使用mysql 客户端,可以使用pager cat >>result.sql 将查询结果直接导出带文件,可以自己尝试一下是否可行
2 个赞