shell脚本——检索mysql数据库中得用户,如果没有就创建

#!/bin/bash
#author: goujinyang
set -e
USER1=mysqlsi
USER2=dbquery
USER3=dboper
USER4=yyzc
USERS=($USER1 $USER2 $USER3 $USER4)
USER_PASS=123123
# MySQL 用户名和密码  
MYSQL_USER="root"  
MYSQL_PASSWORD="Root#123"  
#MYSQL_HOST="localhost"

create(){
for USER in "${USERS[@]}"; do  
    # 使用mysql命令和-sN选项(无输出,仅错误)检查用户是否存在  
    # 注意:这里假设你有足够的权限来执行SELECT语句  
    EXISTS=$(mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -h$MYSQL_HOST -sN -e "SELECT EXISTS(SELECT 1 FROM mysql.user WHERE user='$USER')")  
  
    # 检查用户是否存在(EXISTS查询将返回1或0)  
    if [ "$EXISTS" -eq 0 ]; then  
        # 用户不存在,创建用户  
        mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e "CREATE USER '$USER'@'%' IDENTIFIED BY '$USER_PASS';"  
        echo "用户 $USER 已创建"  
    else  
        echo "用户 $USER 已存在"  
    fi  
done
}
grants(){
mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e "greant all on *.* to '$USER1'@'%' with grant option;"
mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e "greant select,show view,process on *.* to '$USER2'@'%';"
mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e "greant select on *.* to '$USER3'@'%';"
mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e "greant select on *.* to '$USER4'@'%';"
}
create
grants
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值