一键获取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
下一篇 2017-05-07

相关推荐

  • select和case用法

    一、作业 1、斐波那契数列又称黄金分割数列,因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2) 写一个函数,求n阶斐波那契数列 2、汉诺塔(又称河内塔)问…

    Linux干货 2016-08-21
  • 权限管理练习题

    权限管理练习题:     1、当用户xiaoming对/testdir 目录无执行权限时,意味着无法做哪些操作?         不能cd到该目录下,不能ls -l访问目录里面文件元数据的信息    &nbsp…

    Linux干货 2016-08-04
  • 游戏运维工程师

    爱乐盟互动为深圳市政府评定的深圳市重点文化企业,同时为广东省高科技产业商会常务理事单位,注册资金人民币1000万元。公司的原创大型MMORPG网游《王者传说2》为深圳市政府重点支持的网游项目,《王者传说2》将全面领先于国内的同类产品,成为业界新标准的重要网游产品!! 《王者传说2》已进入产品研发的重要阶段。除《王者传说2》,爱乐盟也已经启动了数款全新大型网游…

    Linux干货 2016-10-19
  • linux下VMware Tools安装方法

    关于VMware Tools 是虚拟机里面的驱动,和各种实用工具,安装了vmware tools,你的虚拟机就可以打开DX3D的支持,鼠标想移出虚拟机也不需要按组合键,文件可以从主机直接拖动复制到虚拟机里面,虚拟机的分辨率也会自动跟随窗口调整而变化,还能解决图形界面下的卡顿,总之就是拓展了虚拟机的功能,方便使用。     &nb…

    Linux干货 2016-08-04
  • 马哥教育网络班22期第1周课程作业

    一、基础中的基础————–计算机的组成部分         计算机组成分为硬件系统与软件系统         硬件包括五个部分     1.控制器:控制器 I/O 存储器 &nbs…

    Linux干货 2016-08-15
  • mysql or条件可以使用索引而避免全表

    在某些情况下,or条件可以避免全表扫描的。 1 .where 语句里面如果带有or条件, myisam表能用到索引, innodb不行。 1)myisam表:  CREATE TABLE IF NOT EXISTS `a` (   `id` int(1)&nb…

    Linux干货 2015-04-13