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

#!/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. 贪心-poj-3040-Allowance

    题目链接: http://poj.org/problem?id=3040 题目意思: 有n种(n<=20)面额的硬币,每种硬币面值能整除比它大的面值.给一个c,告诉每种硬币的面值和数量,求最多能 ...

  2. openwrt network interface(openwrt中的网络接口)

    这篇算是对openwrt网络接口的一个翻译吧,源地址:http://wiki.openwrt.org/doc/networking/network.interfaces network的接口类型:物理 ...

  3. JavaScript经典魔力代码

    是什么使得JavaScript不同于其他程序设计语言,在浏览器修饰方面表现出其优异的特性?毫无疑问,JavaScript在Web应用领域受到的好评,既源于它自身灵活的动态特性,也源于浏览器对它充分的支 ...

  4. 设计模式2----建造者模式(builder pattern)

    定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 类型:创建类模式 类图: UML图 四个要素 Builder: 抽象建造者ConcreteBuilder: 具体建造者 ...

  5. sed删除空行和注释行

    最近在看前辈们写的代码,他们把没有用的代码是注释掉而不是删掉.没用的代码和注释很乱,看着心烦,就把注释删掉来解读,顿时爽快多了. 不多说了,直接举例子 比如一个文本文件 data 里的内弄为 cat ...

  6. 任务栈 启动模式 Flag taskAffinity

    关于任务栈Task 栈的概念 栈(Stack)是一种常用的数据结构,栈只允许访问栈顶的元素,栈就像一个杯子,每次都只能取杯子顶上的东西,而对于栈就只能每次访问它的栈顶元素,从而可以达到保护栈顶元素以下 ...

  7. C#。3.1 循环(叠加、穷举)

    循环. for 循环 嵌套的应用, 迭代.穷举 一.迭代法 每次循环都是从上次运算结果中获得数据,本次运算的结果都是要为下次运算做准备.例:1.100以内所有数的和. int sum = 0; for ...

  8. Swift - IBOutlet返回nil(fatal error: unexpectedly found nil while unwrapping an Optional value)

    在Swift 中 ViewController 默认构造方法不关联同名的xib文件 在使用OC的时候,调用ViewController的默认构造函数,会自动关联到一个与ViewController名字 ...

  9. dijkstra堆优化模板

    #include<iostream> #include<cmath> #include<algorithm> #include<cstring> #in ...

  10. [转]在Linux里设置环境变量的方法

    在Linux里设置环境变量的方法(export PATH) 一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量.例如我的mips-linux-gcc编译器在“/opt/a ...