一鍵獲取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.www58058.com/74872

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

相關推薦

  • linux運維

    linux運維大綱,學習路線圖

    Linux干貨 2017-10-21
  • rpm詳解

    rpm詳解 rpm詳解 rpm使用方法 rpm起源 rpm是什么 rpm命名格式 rpm優缺點 rpm獲取注意 rpm命令使用 rpm起源  由于在linux中安裝應用程序需要源碼包編譯安裝,對于非專業人員而言難度太大,因而出現一種將源碼編譯好的二進制程序,庫文件,配置文件,幫助文件等打包成一個或多個特定格式的程序包,而管理這類包的工具之一,則稱為…

    Linux干貨 2016-12-23
  • Premier Bet? Mali Site officiel, Parier sur les sports en ligne

    Premier Bet? Mali Site officiel, Parier sur les sports en ligne 1win propose une gamme variée de sports et de disciplines e-sportives, notamment le football, le handball, Dota 2, C…

    Linux干貨 23小時前
  • n28 第二周作業

    n28 第二周作業

    Linux干貨 2017-12-09
  • N25 The first week –Yorick

    1.計算機的組成及功能 ENIARC:馮諾依曼體系 1.1.運算器(所屬CPU)     進行計算 1.2.控制器(所屬CPU)     控制部件之間的協調,包括尋址操作     輔助性存儲(加速與提升CPU性能)     寄存器(鎖存數據)     緩存(緩…

    Linux干貨 2016-12-04
  • Python高階函數和裝飾器

    高階函數 First Class Object 函數在Python中是一等公民 函數也是對象,可調用(callable)的對象 函數可以作為普通變量、參數、返回值等等 高階函數 數學概念y=g(f(x)) 在Python中,高階函數應該滿足下列至少一個條件 接受一個或者多個函數作為參數 輸出一個函數 計數器 def counter(base): def in…

    Linux干貨 2017-10-23
欧美性久久久久