我是靠谱客的博主 健壮煎饼,最近开发中收集的这篇文章主要介绍mysql权限脚本_Shell脚本之Mysql授权,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

近段时间,由于项目较多,开发人员频繁要求数据库账号授权。本来想着把测试环境的数据库权限直接给他们自己管理就好了,可领导不同意。那好吧,只能给他们开权限呗。时间长了,感觉这样的工作实在枯燥、乏味,但又不得不干。于是就想着,写个脚本吧,免得每次还得登陆数据库grant授权,希望能对工作效率有所提高。

下面是我写的一个简单的shell脚本,

#!/bin/sh

#

# Mysql数据库用户权限管理

#

. /etc/rc.d/init.d/functions

#定义全局变量mysql

MYSQLCMD="/usr/local/mysql/bin/mysql"

#声明添加用户授权函数

function add_auth()

{

read -p 'Port: ' add_auth[0]

read -p 'DB [db.* | db.t1]: ' add_auth[1]

read -p 'Permisions [SELECT,UPDATE...]: ' add_auth[2]

read -p "Authorized to host's IP: " add_auth[3]

read -p 'Username: ' add_auth[4]

read -s -p 'Password: ' add_auth[5]#隐藏密码回显

#定义局部参数变量

PORT=${add_auth[0]} #数据库端口

DB=${add_auth[1]}#需要授权的数据库或表

LIMITS=${add_auth[2]}#权限类型

IP=${add_auth[3]}#授权远程主机IP登陆

USERNAME=${add_auth[4]}#连接用户名

PASSWD=${add_auth[5]}#密码

SOCKT="/tmp/mysql${PORT}.sock"#数据库连接SOCK文件

#授权

$MYSQLCMD -S $SOCKT -e "grant $LIMITS on ${DB} to "${USERNAME}"@"${IP}" identified by "$PASSWD";" && ret1=0

#刷新授权表

$MYSQLCMD -S $SOCKT -e "FLUSH PRIVILEGES;" && ret2=0

if [ $ret1 = 0 ] && [ $ret2 = 0 ]

then

echo -e "n33[32;49;1m Successfully Authorized for user $USER. 33[39;49;0m"

fi

}

#声明撤销用户权限函数drop_user()

function drop_user()

{

read -p 'Port: ' revoke_auth[0]

read -p 'Need to revoke username: ' revoke_auth[1]

read -p 'Revoke Host: ' revoke_auth[2]

PORT=${revoke_auth[0]}

USER=${revoke_auth[1]}

HOST=${revoke_auth[2]}

SOCKT="/tmp/mysql${PORT}.sock"

$MYSQLCMD -S $SOCKT -e "drop user ${USER}@"${HOST}";" && ret1=0

$MYSQLCMD -S $SOCKT -e "FLUSH PRIVILEGES;" && ret2=0

if [ $ret1 = 0 ] && [ $ret2 = 0 ]

then

echo -e "n33[32;49;1m Successfully to drop user $USER. 33[39;49;0m"

fi

}

#读取用户输入,判断添加用户授权OR撤销用户

read -p 'Add or revoke the Authorization? [ add | drop ] ' n

case "$n" in

'add')

add_auth

;;

'drop')

drop_user

;;

*)

echo "Select: add or drop"

esac

最后

以上就是健壮煎饼为你收集整理的mysql权限脚本_Shell脚本之Mysql授权的全部内容,希望文章能够帮你解决mysql权限脚本_Shell脚本之Mysql授权所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部