一键获取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

相关推荐

  • Linux 系统启动流程与grub的应用

    一 Linux 系统启动流程    POST –> BIOS(Boot Sequence) –> MBR(bootloader) –> kernel + initramfs(或initrd) –> rootfs (ro) –> /sbin/init …

    Linux干货 2016-03-07
  • Linux用户和组管理

        登录Linux时我们都需要输入账号和密码,但Linux只会识别账号所对应用ID号,这个ID号就称为UID。     同理每个用户组也都拥有相对应的组ID号,即GID。     Linux根据/etc/passwd文件的内容来查找当前…

    Linux干货 2015-04-26
  • bash特性及bash脚本编程初步

    终端,附着在终端的接口程序: GUI:KDE, GNome, Xfce CLI:/etc/shells bash zsh fish   bash的特性: 命令行展开:~, {} 命令别名:alias, unalias 命令历史:history 文件名通配:glob 快捷键:Ctrl+a, e, u, k, l 命令补全:$PATH 路径补全: &n…

    Linux干货 2016-11-21
  • 对文件数据操作命令

    对文件数据操作命令   很多时候,我们都会去计算一次数据里头的的相同类型的数据总数或者查看特性的一些信息,在这个时候我们就需要排序与计算之类的命令来辅助,下面就是几个好用的操作文件数据命令。 文件查看命令:cat, tac cat [OPTION]… [FILE]…     -E: 显…

    Linux干货 2016-08-08
  • 磁盘管理之文件系统

                             文件系统     文件系统是操作系统用于…

    Linux干货 2016-09-06
  • Linux进程篇16.2pstree命令:【进程树】

    pstree命令:【进程树】

    Linux干货 2017-12-18