一键获取MySQL账户及相关的权限

有时候,运维同学可能在做grant授权时候,给的用户权限太高了,有风险。因此,我们接手服务器后有必要检查一遍用户权限。

#!/bin/bash
# 一键获取MySQL账户及相关的权限


user=’root’

password=’123456′

MYSQL_CMD=’/usr/local/mysql/bin/mysql’

echo -e “\033[31m***********************  MySQL用户权限统计  *****************************\033[0m”
echo -e “\033[31m执行时间: $(date “+%F %T”)\033[0m”

# 判断文件是否存在
[[ -e /tmp/user.log ]] && rm -f /tmp/user.log

# 获取并存储用户权限到文件
$MYSQL_CMD -u$user -p$passwd -e “SELECT concat(‘\”,user,’\”,’@’,concat(‘\”,host,’\”)) AS ‘account’ from mysql.user into outfile ‘/tmp/user.log’; ” > /dev/null 2>&1

if [ $? -ne 0 ]; then
  echo -e “\033[31m脚本执行异常,已退出!! 请查看是否有密码错误 or 没有 select into outfile的权限\033[0m” && exit 10
fi
# 5.7上默认禁止了select .. into outfile的权限,需要在[mysqld]段加上secure-file-priv= 重启MySQL才行。

# 输出查询结果
while read line; do
    echo
    $MYSQL_CMD -u$user -p$passwd 2>/dev/null -e “show grants for $line;”
    echo
    echo ‘***********************************************************************’
done < /tmp/user.log && rm -f /tmp/user.log不小心

原创文章,作者:lirulei,如若转载,请注明出处:http://www.178linux.com/74872

(0)
liruleilirulei
上一篇 2017-05-07 09:40
下一篇 2017-05-07 10:33

相关推荐

  • CentOS系统启动流程

        Linux系统的组成部分   1、动态视角:内核+根文件系统  2、静态视角:磁盘分区+文件 Linux运行中的系统环境   1、用户空间:应用程序(进程或线程)  2、内核空间:内核代码(系统调用) 内核设计流派:   *单内核设计:把所有功能集成于同一个程序,如:Linux  *微内核设计:每种功能使用一个单独的子系统实现,如…

    Linux干货 2016-12-30
  • Linux基础知识总结

    Linux基础知识 计算机系统 计算机硬件组成 1.控制器:计算机系统的控制中心,协调各部分工作,保证计算机按照预先规定的目标和步骤进行操作及处理。 2.运算器:对数据进行算数运算,逻辑判断以及数据的比较、移位等操作。 3.存储器:存取程序和各种数据信息。  4.输入设备:把信息,如数字、文字、图像等转换为数字形式的“编码”的设备(键盘,扫描仪) …

    2017-05-18
  • Linux任务计划、周期性执行任务

    Linux任务计划、周期性执行任务 在未来指定的时间点执行一次某任务:at、batch 周期性的执行某个任务:crontab执行结果会以邮件形式发送给用户 如何查看邮件服务是否启用~ ]# ss -tnl mail 命令: mail [-s ‘邮件名’]+ USERNAME 邮件文件的生成: (1) 交互式输入: ctrl+d结束或者 以 . 单独成行 (2…

    Linux干货 2017-08-16
  • Zabbix基于Proxy分布式部署实现Web监控

    前言 在日常运维工作中,难免会遇到这样或那样的故障,如何能在第一时间发现故障,并及时定位故障原因,保证业务不受影响,我想这应该是做好一个运维必须要掌握的技能。但人力不可能实时掌控系统的变化,于是监控系统应运而生,监控便是运维的眼睛,把监控和性能管理做好后,运维就是一件很轻松的事情。目前比较流行的开源监控工具有Cacti、Nagios(Icinga)、Zabb…

    Linux干货 2015-07-13
  • Linux系统启动流程简介

    centos系统启动流程 本篇仅仅讲解centos5和6 centos7并不适用 Linux系统的组成部分:内核+根文件系统 内核功能: 进程管理 内存管理 网络管理 驱动程序 文件系统 安全功能 有以下目录结构的文件系统可以被识别为根文件系统,但根文件系统本身不存在 rootfs:/bin/ /sbin /etc/ /sys/…

    Linux干货 2016-09-10
  • 萝卜运维记-第二周

    part2–针对文件命令的介绍,使用,演示 Ⅰ Linux文件管理类命令常用方法 Ⅱ bash的工作特性,相关示例 Ⅲ 文件的元数据有哪些,以及所代表的含义。 Ⅳ 相关命令的操作,和结果演示。 ①Linux文件管理命令常用方法 Linux常见文件类型 -:常规文件;即f; d: directory…

    Linux干货 2016-12-12