一键获取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进程及作业管理总结

    一、简介     在使用Windows操作系统中很多时候需要查看某些程序进程的运行情况,一般来说我们可以打开Windows提供的"任务管理器",然后点击"进程"栏即可查看到当前系统运行的进程列表。例如偶尔出现系统内存、CPU占用过高的时候,我们往往都会查看进程列表,并找到当前占用内存或CPU过高的进…

    Linux干货 2015-10-05
  • Linux基于OpenSSL实现私有CA构建

    前言 随着互联网的迅猛发展,网络通信已经成为传递信息的主要途径。而通信时的数据传输大部分却是明文传输的,在网络这个不安全的环境下,如果没有一套数据加密机制,就会导致敏感信息和重要数据泄露,引起不可估量的损失。而OpenSSL正好弥补了这一缺憾,那什么是OpenSSL呢?OpenSSL是一套强大的具有加密功能的组件,它包含libcrypto(公共加密库)、li…

    Linux干货 2015-04-13
  • HAProxy 入门及基础负载应用

    A、首介 。。。         HAProxy——开放源代码软件,是一款代理服务器和伪4层的负载均衡软件解决方案。基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持高并发链接,它的工作模式可以将其简单而安全地整合到当前的服务架构中,同时可以保护你的WEB服务器不暴露到…

    Linux干货 2017-05-17
  • Hive深入浅出

    1.  Hive是什么 1) Hive是什么? 这里引用 Hive wiki 上的介绍: Hive is a data warehouse infrastructure built on top of Hadoop. It provides tools to enable easy data ETL, a mechanism to put stru…

    Linux干货 2016-03-22
  • Linux DNS服务系列之原理介绍及正反向解析配置

    前言 我们在访问一个网站的时候,只要输入该网站的网址就会跳转到该网站页面,而实现这一过程就需要DNS服务器将域名解析为IP地址,进而实现数据通信。那么DNS服务器是如何工作的呢?本系列分为两部分,本文将详解DNS服务原理及正反向解析配置。 DNS服务原理详解 DNS相关知识 DNS:Domain Name Service,域名解析服务 监听端口:udp/53…

    Linux干货 2015-04-13
  • DNS服务器搭建示例

    DNS服务器搭建示例 负责解析magedu.com域名,能够对一些主机名进行正向解析和逆向解析 配置主配置文件 [root@slave1 etc]# vim /etc/named.conf options { listen-on port 53 { 192.168.91.132; }; // listen-on-v6 port 53 { ::1; }; di…

    2017-09-16