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 个赞
- 用户少,可以使用show grants for xxxx 命令,并将获取结果在目标库中创建用户,并将赋权复制,并粘贴到目标库中
- 用户多,就需要使用拼接命令,将查询的结果导出。在目标库中执行一次
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
- 将步骤2)执行结果,再执行一次获取用户授权
obclient -hIP 地址 -P3306 -uroot@租户名@集群名 -pxxxx -N -e " source user_grants.sql" >>grant_result.sql
将步骤1)与3)的结果导入到目标库中
使用mysql 客户端,可以使用pager cat >>result.sql 将查询结果直接导出带文件,可以自己尝试一下是否可行
2 个赞