这篇文章主要介绍了Mysql数据库创建账号授权、回收权限、删除用户、查询用户权限等功能,需要的朋友可以参考下
脚本功能:
1、授权用户权限
2、回收用户权限
3、查询用户权限
4、删除用户及权限
5、支持批量IP
6、输入{Q/q}退出脚本
[root@Ansible scripts]# vim auto_authorization_mysql_db.sh
脚本内容如下:
#!/bin/bash
#Date:2020-7-15 16:28:10
#Author Blog:
# https://www.yangxingzhen.com
# https://www.i7ti.cn
#Author WeChat:
# 微信公众号:小柒博客
#Author mirrors site:
# https://mirrors.yangxingzhen.com
#About the Author
# BY:YangXingZhen
# Mail:xingzhen.yang@yangxingzhen.com
# QQ:675583110
#执行脚本之前请执行命令:grant all on *.* to admin@'%' identified by 'CRDEP7X2zHUJCG^eZu2T*Wny' WITH GRANT OPTION;
# flush privileges;
source /etc/rc.d/init.d/functions
User="admin"
Passwd="CRDEP7X2zHUJCG^eZu2T*Wny"
function query (){
Code=""
whiletrue
do
read -p "$(echo -e "\033[32m请输入需要连接的Mysql主机IP[多个IP以空格分隔]:\033[0m")" IPADDR
if[-z ${
IPADDR}];then
echo -e "\033[31m输入错误,主机IP不能为空...\033[0m"
elif["${IPADDR}"="q"-o "${IPADDR}"="Q"];then
Code="break"
else
whiletrue
do
read -p "$(echo -e "\033[32m请输入需要查询的用户名:\033[0m")" USER
if[-z ${
USER}];then
echo -e "\033[31m输入错误,用户名不能为空...\033[0m"
elif["${USER}"="q"-o "${USER}"="Q"];then
Code="break"
else
whiletrue
do
read -p "$(echo -e "\033[32m请输入需要查询的授权连接地址:\033[0m")"Connection
if[-z ${
Connection}];then
echo -e "\033[31m输入错误,授权连接地址不能为空...\033[0m"
elif["${Connection}"="q"-o "${Connection}"="Q"];then
Code="break"
else
for i in ${
IPADDR}
do
mysql -h ${
i}-u${
User}-p"${Passwd}"-e "show grants for ${USER}@'"${
Connection}"';"
return1
done
fi
${
Code}
done
fi
${
Code}
done
fi