自己写的一个存储过程!一次性获取mysql所有用户的所有权限列表!
做权限列表统计的时候这个非常爽!

  1. DELIMITER $$
  2. USE `mysql`$$
  3. DROP PROCEDURE IF EXISTS `proc_GetUserPriv`$$
  4. CREATE DEFINER=`root`@`%` PROCEDURE `proc_GetUserPriv`(
  5. )
  6. COMMENT '获取账号权限信息列表'
  7. BEGIN
  8. # 获取用户总数,用于循环判断
  9. SET @counts = (SELECT COUNT(*) FROM `user`);
  10. SET @i = 1;
  11. WHILE (@i <= @counts) DO
  12. -- SELECT CONCAT(`user`,'@',"'",`host`,"'") INTO @sql2 FROM USER LIMIT 2,
  13. -- set @SQL1 =  concat('SELECT',CONCAT(`USER`,"@'",`HOST`,"'"),'into @SQL2 FROM USER LIMIT ',@i,",1");      -- 这句会导致错误
  14. SET @SQL1 = CONCAT('select concat(','"',"'",'"',',user,','"',"'",'"',',','"@',"'",'",host,"',"'",'")','  into @SQL2 from user limit ',@i,",1");
  15. PREPARE smtm1 FROM @SQL1 ;
  16. EXECUTE smtm1;
  17. DEALLOCATE PREPARE smtm1;
  18. SET @sql3 = CONCAT("show grants for ",@SQL2);
  19. PREPARE smtm2 FROM @sql3;
  20. EXECUTE smtm2;
  21. DEALLOCATE PREPARE smtm2;
  22. SET @i = @i + 1;
  23. END WHILE;
  24. END$$
  25. DELIMITER ;

嘿嘿,其实上面这个存储过程还可以用游标来实现!
之所以没用游标,是想上面这种方法在某些方面可以替代游标!

转载于:https://blog.51cto.com/imysqldba/1119877

mysql 获取所有用户所有权限存储过程相关推荐

  1. 获取超级用户访问权限-redhat 7.2

    获取超级用户访问权限 Root用户: 在redhat7.2中root用户特权高于文件系统上的一般特权,用于管理系统,要执行诸如安装或删除软件以及管理系统文件和目录等任务时,必须将特权升级到root用户 ...

  2. Mysql数据库给用户添加权限

    1.Mysql下创建新的用户 新创建的用户默认是没有任何权限的. 语法格式: create user 用户名 identified by '密码'; 2.给用户分配权限 语法结构: grant 权限 ...

  3. 获取超级用户访问权限

    获取超级用户访问权限 root用户 大多数操作系统都有某种超级用户,这是拥有系统所有权限的用户.在 Red Hat Enterprise Linux中,该用户就是root用户.该用户的特权高于文件系统 ...

  4. Mysql —— C语言链接mysql数据库,用户 角色 权限(用户根据角色的不同拥有增删改查的权限、用户有三种认证方式)

    db_修改过(用户 角色 权限): 1.新增用户时候id 改为最大id值加一,之前用的select查看出来的记录数加一,删除后再增加会出错: 2.删除用户时候,若该用户创建过其他用户(不能改此用户名. ...

  5. mysql - user/privileges/用户与权限/用户权限/管理用户权限

    目录 1.用户权限有哪些 2.用户权限操作语句 3.授权说明与授权原则 1.用户权限有哪些 总共28个权限 mysql数据库中的3个权限表:user .db. host 权限表的存取过程是: 1)先从 ...

  6. MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限

    2019独角兽企业重金招聘Python工程师标准>>> 1.新建用户 //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> ...

  7. MySQL为其他用户创建数据库_MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限...

    1.新建用户 //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> insert into mysql.user(Host,User,Pas ...

  8. mysql新用户不能创建数据库中_MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限...

    1.新建用户 //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> insert into mysql.user(Host,User,Pas ...

  9. MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限(转)

    1.新建用户   //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> insert into mysql.user(Host,User,P ...

最新文章

  1. faster-rcnn网络
  2. 在Angular中有多个字段
  3. 拖动改变Table的列宽度
  4. 【原创】在C#中调用其它程序
  5. 理解 redis 中的 哈希对象类型
  6. matlab qtdecomp,Opencv图像识别从零到精通(25)------区域分裂与合并
  7. 运行Java web时遇到的错误
  8. mysql条件填充命令_MySQL如何填充范围内的缺失日期?
  9. ubuntu 安装 最新 OpenBabel
  10. java 中使用_java中运算符的使用方法
  11. matlab gui 数据处理,基于MATLAB GUI的数据处理分析界面的设计与应用
  12. 杰理之ifi_camera跑sfc的启动时间【篇】
  13. 可以在idle内部执行python命令_2、Python IDLE入门
  14. 基于asp.net车辆管理调度系统的设计与实现
  15. 文件服务器和nas区别,nas和ftp服务器的区别
  16. CTID易捷开放平台赋能小微企业完成网络身份认证服务
  17. UBUNTU系统镜像定制
  18. 鼠标滑过图片,图片抖动
  19. DB2表空间状态列表
  20. Prometheus 监控进程的内存使用率 PromQL 多对一向量匹配

热门文章

  1. ssh传输越多越慢_Linux下分析网站访问慢原因
  2. cad显示驱动程序文件已丢失或损坏_win7系统下打开AutoCAD 2014时显示驱动程序文件.hdi丢失如何解决...
  3. java 程序命令_命令行运行JAVA程序
  4. Spring mvc @RequestHeader
  5. git 应用 创建分支 并切换分支
  6. pandas 链接数据库
  7. 如何更改html广告,js 动态改变广告代码DIV的位置_原生JS通过innerHTML改变div位置...
  8. created写法_vue.js中created方法作用
  9. VMware vSphere 功能特性比较 vsphere 6.5/6.7/7.0
  10. IDC机房对接阿里云