# !/bin/bash
#菜单
function 菜单(){
echo -e “\ t \ \ t * * * * * * * * * * * * * * * * * * * * * * * *”
echo -e “\ t \ \ t *,,,,,,,操作数据库,,,,,*”
echo -e “\ t \ \ t * * * * * * * * * * * * * * * * * * * * * * * *”
echo -e “\ t \ \ t *, 1,登录数据库,,,,,,,,*”,,,
echo -e “\ t \ \ t *, 2,创建用户或增加权限*”
echo -e “\ t \ \ t *, 3, sql语句操作数据库,*”
echo -e “\ t \ \ t *, 4,更改用户密码,,,,,,*”
echo -e “\ t \ \ t *, 0,退出,,,,,,,,,,,,,,*”
echo -e “\ t \ \ t * * * * * * * * * * * * * * * * * * * * * * * *”
}
#输入mysql的用户名和密码
function 输入(){
echo -e “\ t \ \ t请登录数据库”
read -p “请输入mysql用户名:”,用户
read -s  -p “请输入mysql的密码:”,密码
}
#判断输入的用户名密码是否正确
function panduan () {
mysql user 美元- u - p passwd 美元;-e exit 1在/dev/null 2祝辞,1
if [, $ ? !=, 0,)
然后
echo -e “\ n \ t \ \ t用户名或密码错误,请重新输入!”
输入
其他的
echo -e “\ n \ t \ \ t数据库登录成功!”
fi
}
#创建用户并授权
function createuser () {
echo -e “已存在的用户如下,如果输入的用户已存在,则增加该用户到权限”
mysql user 美元- u - p passwd 美元;-e “select 用户,host 得到mysql.user;”
read -p “请输入要创建的用户名:”,列出
read -s  -p “请输入新用户的密码:“,newpasswd
echo -e “请输入此用户的主机名(%代表所有的主机都能用此账户访问数据库,具体到某几个主机名中间用英文的逗号隔开,如localhost, 192.168.1.1):“
read 主机名
echo -e “请输入授予此用户操作数据库的权限(所有代表全部,具体到某几个权限中间用英文的逗号隔开,如创建、选择):”,
格兰特read
echo -e “请输入授予此用户的访问的库和表的权限(*。*代表全部的库和表,具体到某几个库中间用英文的逗号隔开,如database1.table1, database2.table2):“
read 数据库
mysql user 美元- u - p passwd 美元;-e “grant grant 美元;提醒database 美元;用“分类列出美元”@“主机名美元”,identified by “newpasswd美元”;“,2在/tmp/error.txt
if [, -s /tmp/error.txt ]
然后
echo -e “\ \ t数据库的权限或库名,表名输入错误!”
其他的
echo -e “\ n \ t \ \ t用户创建成功!”
fi
}
#命令行操作数据库
function 订单(){
while 真正的
做
echo -e “\ n”
echo -e “请输入mysql语句:“
read 订单
mysql user 美元- u - p passwd 美元;-e “秩序”美元,2在/dev/null
if [,美元? !=0,)
然后
echo -e “\ t \ \ tsql语句输入错误!”
fi
完成
}
#修改密码
function 改变(){
echo -e “数据库中已存在的用户如下:“
摘要=' mysql - u user 美元;- p passwd 美元;-e “select distinct  user 得到mysql.user;“| awk “{print 1美元}”| sed -n “2美元p ' '
echo 摘要美元
while 真正的
做
echo -e “请输入要修改的用户名:“
read 最有用处
echo -e “请输入新密码”
read -s  cpasswd
echo -e “请再次输入新密码”
read -s  zpasswd
echo 摘要美元| grep cuser>美元/tmp/tuser.txt
if [,“cpasswd美元”=,"美元zpasswd ", -a -s /tmp/tuser.txt 】
然后
mysql user 美元- u - p passwd 美元;& lt; & lt; EOF
update mysql.user  set 密码=密码(cpasswd美元),where 用户=癱us美元”;
flush 特权;
EOF
echo -e “\ t \ \新台币cus用户的密码修改成功!”
elif [, cpasswd美元“!=,"美元zpasswd ",)
然后
echo -e “\ t \ \ t两次输入的密码不一致!”
其他的
echo -e “\ t \ \ t你输入的用户不存在!”
fi
完成
}
while 真正的做
菜单
read -p “请输入数字(0 ~ 4):“,我
case 小姐:美元
1)
while 真正的
做
输入
mysql user 美元- u - p passwd 美元;2在/tmp/mysql.txt
if [, -s /tmp/mysql.txt ]
然后
echo -e “\ n \ t \ \ t用户名或密码错误,请重新输入!”
其他的
打破
fi
完成
;;
2)
输入
panduan
createuser
;;
3)
输入
订单
;;
4)
输入
panduan
改变
;;
0)
exit 0;;
*)
echo -e “\ t \ \ t请输入有效数字!”
;;
esac
以前做