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

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

时间:2024-09-29 13:34:06浏览次数:1  
标签:shell greant EXISTS mysql 中得 USER MYSQL PASSWORD

 

#!/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

 

标签:shell,greant,EXISTS,mysql,中得,USER,MYSQL,PASSWORD
From: https://www.cnblogs.com/goujinyang/p/18439534

相关文章

  • 生产数据恢复系列之使用my2sql恢复MySQL8 误删数据
    生产数据恢复系列之使用my2sql恢复MySQL8误删数据原创 我科绝伦 小周的数据库进阶之路  2024年09月25日00:00 重庆热衷于分享各种干货知识,大家有想看或者想学的可以评论区留言,秉承着“开源知识来源于互联网,回归于互联网”的理念,分享一些日常工作中能用到或者频率......
  • MySQL索引详解
    MySQL索引详解什么是索引索引(Index)是数据库中用于提高查询速度的数据结构,类似于书的目录。它为表中的一个或多个列创建了一种顺序结构,以帮助数据库更快地定位和检索数据。当表中的数据量非常大时,查询的性能可能会显著下降,索引的主要作用就是通过减少查询时的扫描范围来提......
  • MySQL实现按分秒统计数据量
    在MySQL中,统计每秒、每分钟、每5分钟、每10分钟、每30分钟的交易量可以通过使用GROUPBY和MySQL的时间处理函数来实现。假设交易记录表名为transactions,交易时间字段为transaction_time,并统计每个时间段的交易量。1.每秒交易量SELECTDATE_FORMAT(transaction......
  • 基于Java&MYSQL&Android的商品比价软件设计与实现20516-计算机毕设定制原创选题推荐(附
                                                 目 录摘要1绪论1.1开发背景1.2研究现状1.3论文结构与章节安排2 商品比价软件APP系统分析2.1可行性分析2.2......
  • (赠源码)Python+django+echars+MySQL+爬虫+大屏 boss直聘数据分析可视化系统的设计与实
    摘要随着互联网的飞速发展和技术的不断进步,数据分析和可视化技术在各个领域都扮演着越来越重要的角色。在人才招聘领域,招聘平台作为连接求职者和招聘公司的重要平台,需要不断创新和提升服务体验。设计和实现一个boss直聘数据分析可视化系统,可以帮助BOSS直聘平台更好地利用数......
  • java+springboot+mysql新闻信息检索系统59739-计算机毕业设计原创定制(赠源码)
                                           目 录摘要1绪论1.1选题背景1.2研究意义1.3系统开发技术的特色1.4springboot框架21.5论文结构与章节安排32 新闻信息检索系统分析......
  • MYSQL DML 修改和删除数据
    点击查看代码UPDATEemployeeSETNAME='itheima'WHEREid=1;--更改id1的name为SELECT*FROMemployee;UPDATEemployeeSETNAME='小昭',gender='女'WHEREid=1;--更改ID1的name和ganderSELECT*FROMemployee;UPDATEemployeeSETe......
  • mysql数据库多表查询
    单表查询1、普通查询(1)命令:select*from<表名>;//通匹(2)命令:select<要查询的字段>from<表名>;2、去重查询(distinct)命令:selectdistinct<要查询的字段>from<表名>3、排序查询(orderby)升序:asc降序:desc降序排列命令:select<要查询的字段名>from<表名>orderby<要查......
  • MySQL登录时出现ERROR 1045: Access denied for user ‘root‘@‘localhost‘ (using p
    Mysql在使用过程中,可能会遇到登录问题,比如常见的错误信息:“Accessdeniedforuser‘root’@‘localhost’(usingpassword:YES)”。本文将分析这个问题的可能原因,并提供一系列解决方案. 定位报错原因出现这个Accessdenied问题的原因有如下可能:MySQL的服务器停止了。......
  • 【2024计算机毕业设计】基于jsp+mysql的JSP酒店预定管理系统
    运行环境:最好是javajdk1.8,我在这个平台上运行的。其他版本理论上也可以。IDE环境:Eclipse,Myeclipse,IDEA或者SpringToolSuite都可以,如果编译器的版本太低,需要升级下编译器,不要弄太低的版本tomcat服务器环境:Tomcat7.x,8.x,9.x版本均可操作系统环境:WindowsXP/7......