mysql下用戶和密碼生成管理 應用上線,涉及到用戶名和密碼管理,隨著上線應用的增加,用戶名和密碼的管理設置成為一個問題。還要對用戶賦權,於是想著寫一個腳本來管理,看到同事寫的一個腳本,滿足需求。思路大致是字母替換為數字,賬號根據庫名設置。腳本如下:
#!/bin/sh
passwd1=$1_sir
dbuser=`echo $passwd1|awk '{print tolower($0)}'`
dbpassword=`echo $passwd1| awk '{print tolower($0)}' |sed '/\n/!G;s/\(.\)\(.*\n\)/&\2\1/;//D;s/.//'|awk '{
toupper($0)
gsub(/_/,"",$0)
while($0~/a/)
{
gsub(/a/,"4",$0)
}
while($0~/e/)
{
gsub(/e/,"3",$0)
}
while($0~/i/)
{
gsub(/i/,"1",$0)
}
while($0~/o/)
{
gsub(/o/,"0",$0)
}
while($0~/v/)
{
gsub(/v/,"7",$0)
}
print tolower($0)
}'`
echo "grant select,update,delete,insert on $1.* to $dbuser@'%' identified by '$dbpassword';"
echo "grant select on $1.* to reader@'%' identified by 'n0p4ssw0rd';"
使用方式 腳本後面跟db名字
[root@dbxxxxx]# ./password.sh userdb grant select,update,delete,insert on userdb.* to userdb_sir@'%' identified by 'r1sbdr3su'; grant select on userdb.* to reader@'%' identified by 'n0p4ssw0rd';
執行完產生上面的sql語句,一個寫賬號,一個讀賬號,然後在相應主機上執行命令。