导出mysql所有用户权限的shell脚本

发布时间:2019-11-23编辑:脚本学堂
默认情况下,如果使用:
select * from mysql.user;
导出的只是全局权限。
如果想查看每个用户的具体权限,要使用:
show grants for "youruser"@'yourip';如果要想导

默认情况下,如果使用:
select * from mysql.user;
导出的只是全局权限。
如果想查看每个用户的具体权限,要使用:
show grants for "youruser"@'yourip';

如果要想导出所有的用户权限呢?应用场景--数据库迁移,使用下面的脚本(在国外网站看到)
 

复制代码 代码如下:

#!/bin/bash
#Function export user privileges

expgrants()
{
mysql -B -u'root' -p'123456' -N $@ -e "SELECT CONCAT(
'SHOW GRANTS FOR ''', user, '''@''', host, ''';'
) AS query FROM mysql.user" |
mysql -u'root' -p'123456' $@ |
sed 's/(GRANT .*)/1;/;s/^(Grants for .*)/-- 1 /;/--/{x;p;x;}'
}
expgrants > ./grants.sql

您可能感兴趣的文章:
MySql数据库导出csv的实例讲解
mysqldump备份与还原 mysqldump导入导出语句
mysql导入导出数据时中文乱码的解决办法
mysql导出为xml文件的简单例子
学习mysql的导入导出
从mysql控制台导入导出数据库的方法介绍
mysql命令行导入与导出数据库
mysql导出存储过程实例分析
导出mysql 数据结构的例子