您好,欢迎访问一九零五行业门户网

mysql下用户和密码生成管理

应用上线,涉及到用户名和密码管理,随着上线应用的增加,用户名和密码的管理设置成为一个问题。还要对用户赋权,于是想着写一个脚本来管理,看到同事写的一个脚本,满足需求。思路大致是字母替换为数字,账号根据库名设置。脚本如下: #!/bin/sh passwd1=$1
  应用上线,涉及到用户名和密码管理,随着上线应用的增加,用户名和密码的管理设置成为一个问题。还要对用户赋权,于是想着写一个脚本来管理,看到同事写的一个脚本,满足需求。思路大致是字母替换为数字,账号根据库名设置。脚本如下:
#!/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语句,一个写账号,一个读账号,然后在相应主机上执行命令。
其它类似信息

推荐信息