更新时间:2023-10-30 gmt 08:00
如何将源数据库的用户与权限导出,再导入到目标数据库-凯发k8国际娱乐官网入口
- 选择一台可以访问源数据库的虚拟机。
- 执行如下命令后,输入密码并回车,将源库用户导出到临时文件“users.sql”中。
mysql -h 'host' -u 'user' -p -n $@ -e "select concat('show grants for ''', user, '''@''', host, ''';') as query from mysql.user" > /tmp/users.sql
其中的'host'替换为源数据库的访问ip地址,'user' 替换为源数据库的用户名。
- 执行如下命令,将源数据库中原有用户的授权信息导出到文件“grants.sql”中。
mysql -h 'host' -u 'user' -p -n $@ -e "source /tmp/users.sql" > /tmp/grants.sql
sed -i 's/$/;/g' /tmp/grants.sql
其中的'host'替换为源数据库的访问ip地址,'user' 替换为源数据库的用户名。
- 命令运行成功后,打开“grants.sql”文件可以看到类似以下的结果。
-- grants for root@% grant all privileges on *.* to 'root'@'%'; -- grants for testt@% grant select, insert, update, delete on *.* to 'testt'@'%'; -- grants for debian-sys-maint@localhost grant all privileges on *.* to 'debian-sys-maint'@'localhost' with grant option; -- grants for mysql.session@localhost grant super on *.* to 'mysql.session'@'localhost'; grant select on `performance_schema`.* to 'mysql.session'@'localhost'; grant select on `mysql`.`user` to 'mysql.session'@'localhost'; -- grants for mysql.sys@localhost grant usage on *.* to 'mysql.sys'@'localhost'; grant trigger on `sys`.* to 'mysql.sys'@'localhost'; grant select on `sys`.`sys_config` to 'mysql.sys'@'localhost'; -- grants for root@localhost grant all privileges on *.* to 'root'@'localhost' with grant option; grant proxy on ''@'' to 'root'@'localhost' with grant option;
- 在4显示的结果中,可以看到源数据库中所有的用户以及对应的权限,请选择所有需要的用户,逐个添加到本云关系型数据库mysql中,具体操作请参考《关系型数据库用户指南》中的“”章节。
父主题: 权限管理
意见反馈
文档内容是否对您有帮助?
提交成功!非常感谢您的反馈,我们会继续努力做到更好!
您可在查看反馈及问题处理状态。
系统繁忙,请稍后重试
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨
more