MySQL中导出用户权限设置的脚本分享
作者:junjie 时间:2024-01-21 15:29:04
在对MySQL数据库进行迁移的时候,有时候也需要迁移源数据库内的用户与权限。对于这个迁移我们可以从mysql.user表来获取用户的相关权限来生成相应的SQL语句,然后在目标服务器上来执行生成的SQL语句即可。本文提供了生成提取用户权限的脚本并给出演示。
1、生成用户权限的脚本
[root@HKBO ~]# more exp_grant.sh
#!/bin/bash
#Function export user privileges
pwd=123456
expgrants()
{
mysql -B -u'root' -p${pwd} -N $@ -e "SELECT CONCAT(
'SHOW GRANTS FOR ''', user, '''@''', host, ''';'
) AS query FROM mysql.user" | \
mysql -u'root' -p${pwd} $@ | \
sed 's/\(GRANT .*\)/\1;/;s/^\(Grants for .*\)/-- \1 /;/--/{x;p;x;}'
}
expgrants > ./grants.sql
2、生成权限SQL脚本
[root@HKBO ~]# ./exp_grant.sh
[root@HKBO ~]# head grants.sql
-- Grants for root@127.0.0.1
GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' IDENTIFIED BY PASSWORD '*EB3EA446C759C9DA93F84FCB56430DBEF051A9DD' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON `CNBO0815`.* TO 'root'@'127.0.0.1' WITH GRANT OPTION;
-- Grants for root@172.16.10.%
GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.10.%' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9';
-- Grants for CNBO@192.168.1.%
GRANT USAGE ON *.* TO 'CNBO'@'192.168.1.%' IDENTIFIED BY PASSWORD '*ABD91BAD4A3448428563952E281015B237310EA8';
...........................
3、在目标服务器上执行脚本
将生成的脚本在目标服务器上执行即可。 mysql -uname -ppwd <grants.sql
需要注意:
a、目标服务上为非空服务器,已经存在一些账户及权限应考虑会覆盖的问题。
b、如果仅仅需要迁移非root用户,可以在原脚本中添加过滤条件,即 where user<>'root' 。
标签:MySQL,导出用户权限
0
投稿
猜你喜欢
Python实现二叉树的最小深度的两种方法
2022-05-24 03:30:17
Ubuntu+python将nii图像保存成png格式
2022-05-11 10:04:51
vue 使用鼠标滚动加载数据的例子
2024-05-28 15:42:21
用Python编写分析Python程序性能的工具的教程
2022-02-13 01:57:03
python转换字符串为摩尔斯电码的方法
2022-01-01 10:17:44
Python用模块pytz来转换时区
2021-05-27 20:09:32
服务端XMLHTTP(ServerXMLHTTP in ASP)进阶应用-User Agent伪装
2008-11-11 12:29:00
php笔记之:初探PHPcms模块开发介绍
2024-05-11 09:54:26
DataGrip 2020.1 安装与激活方法
2022-04-02 19:46:16
Sql Server2016 正式版安装程序图解教程
2024-01-21 18:48:53
Js sort排序使用方法
2023-10-19 10:20:55
教你用python提取txt文件中的特定信息并写入Excel
2021-02-11 00:41:41
Python asyncio的一个坑
2022-04-06 20:58:28
使用Django框架创建项目
2023-02-14 10:30:25
ASP.NET MVC4入门教程(四):添加一个模型
2024-05-09 09:02:58
python实现图书馆研习室自动预约功能
2022-03-22 02:04:44
Android应用开发中Action bar编写的入门教程
2022-01-03 02:25:18
详解Tensorflow数据读取有三种方式(next_batch)
2023-08-10 07:30:42
基于ASP的站内多值搜索
2010-05-11 20:03:00
用Dreamweaver设计实现网页过渡转换功能
2008-09-04 10:09:00