应用上线,涉及到用户名和密码管理,随着上线应用的增加,用户名和密码的管理设置成为一个问题。还要对用户赋权,于是想着写一个脚本来管理,看到同事写的一个脚本,满足需求。思路大致是字母替换为数字,账号根据库名设置。脚本如下:

#!/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语句,一个写账号,一个读账号,然后在相应主机上执行命令。

mysql下用户和密码生成管理的更多相关文章

  1. Linux系统下用户与组的管理

    Linux系统下用户与组的管理 一.用户及组基本概述 Linux 系统上,用户管理是基于用户名和密码的方式进行资源的分配. 1.uid(用户身份标识) (1)root用户 uid为0 (2)普通用户: ...

  2. 详解Centos7 修改mysql指定用户的密码

    本文介绍了Centos7 修改mysql指定用户的密码,具体如下: 1.登陆mysql或者mariadb(两种任选其一) [root@localhost ~]# mysql -u root [root ...

  3. mysql添加用户和密码

    首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的root权限的.   注:本操作是在WIN命令提示符下,phpMyAdmin同样适用.     用户:phplamp  用户 ...

  4. mysql 中用户默认密码加密问题

    问题描述: 在mysql中 user表中新增用户默认密码为123456,但是在数据库中显示不能为明文,而mysql的默认字段不能用函数 解决方法: 用触发器 delimiter | drop trig ...

  5. Linux下三个密码生成工具

    http://code.csdn.net/news/2820879 想出一个难破解且容易记的密码对不是一件简单的事情.在我为电脑设定一个新密码,或者在线注册了一个新的账号,需要输入密码的时候,脑袋就一 ...

  6. Centos7 修改mysql指定用户的密码

    1.登陆mysql或者mariadb(两种任选其一) [root@localhost ~]# mysql -u root [root@localhost ~]# mysql -uroot -p 2.切 ...

  7. 无法给MySQL root用户修改密码的解决方法

    本人编译安装完MySQL数据库,想给root用户修改密码,结果无法修改,并且报错,报错大概信息如下: mysqladmin: connect to server at 'localhost' fail ...

  8. 找回mysql root用户的密码

    1.停掉mysql服务ps -ef | grep mysqldkill -9 mysql进程的pid2.vi /etc/my.cnf找到[mysqld]在下面添加一行skip-grant-tables ...

  9. 在Windows下忘记MySQL最高用户权限密码的解决方案

    1.打开MySQL配置文件 my.ini中,添加上skip-grant-tables,可以添加到文件的末尾或者是这添加到[mysqld]的下面(直接添加在my.ini文件最后亲测可以,但是在[mysq ...

随机推荐

  1. [ACM] POJ 1442 Black Box (堆,优先队列)

    Black Box Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 7099   Accepted: 2888 Descrip ...

  2. FoxOne---一个快速高效的BS框架--WEB控件属性编辑器

    FoxOne---一个快速高效的BS框架--(1) FoxOne---一个快速高效的BS框架--(2) FoxOne---一个快速高效的BS框架--(3) FoxOne---一个快速高效的BS框架-- ...

  3. Android Studio试用总结

    Android Studio是一年前Google I/O上推出的一款Android开发IDE,他基于JetBrains’ IntelliJ IDEA,目前还在preview阶段.增强了布局拖拽和预览功 ...

  4. rpm-bin

    bin:二进制可执行程序,与windows的exe文件一样,在linux图形界面可直接双击运行,或在终端界面使用该命令执行 ./filename 有的软件是二进制安装程序和源代码一起发布,二进制程序文 ...

  5. sql server里一些常用的查询

    查看表的创建和更改时间:  select * from sys.tables    查询数据库的创建时间: select * from sys.databases where name in ('数据 ...

  6. hdu 2101

    #include <stdio.h> int main() { int a,b; while(scanf("%d%d",&a,&b)!=EOF) { i ...

  7. web笔记

    application: 在tomcat启动过程,会将所有的应用加载进来,会为每一个应用创建一个application对象.这个对象是唯一.但是所有的web应用是互不影响的. like模糊查询 重定向 ...

  8. iOS开发中的MVC设计模式

    我们今天谈谈cocoa程序设计中的 模型-视图-控制器(MVC)范型.我们将从两大方面来讨论MVC: 什么是MVC? M.V.C之间的交流方式是什么样子的? 理解了MVC的概念,对cocoa程序开发是 ...

  9. 武汉科技大学ACM :1002: 零起点学算法28——判断是否闰年

    Problem Description 输入年份,判断是否闰年 Input 输入一个整数n(多组数据) Output 如果是闰年,输出yes,否则输出no(每组数据一行) Sample Input 2 ...

  10. HTML写的第一个邮箱登陆界面

    自己动手去写才会有收获,宁可模仿也不要全部复制粘贴 不说了,直接上代码.CSS有注释,适合新手. <!doctype html> <html> <head> < ...