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 "grant all on *.* to '$USER1'@'%' with grant option;"
mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e "grant select,show view,process on *.* to '$USER2'@'%';"
mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e "grant select on *.* to '$USER3'@'%';"
mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e "grant select on *.* to '$USER4'@'%';"
}
create
grants
复制代码

 

posted @   太阳的阳ฅ  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示