首页 > 数据库 >linux shell脚本:创建数据库、数据库同名用户及赋权

linux shell脚本:创建数据库、数据库同名用户及赋权

时间:2023-09-02 11:33:52浏览次数:38  
标签:赋权 shell 创建 数据库 db DBNAME mysql echo create


调用脚本

如果mysql中已经有了一个mydb0831,会先drop掉,再创建一个空的mydb0831库,同时创建一个名为mydb0831的用户,对这个mydb0831库拥有所有权限。
如果机器里未安装mysql,脚本执行会报错。可以从其他相同操作系统安装了mysql的机器里/usr/bin/下复制mysql过来,赋予可执行权限,即可。

./create_db_mysql_remote.sh mydb0831

create_db_mysql_remote.sh 脚本内容

#!/bin/bash
 
HOSTNAME="192.168.150.123"                            #数据库Server信息
PORT="3306"
USERNAME="root"
PASSWORD="root"
 
DBNAME=$1                                              #要创建的数据库的库名称
#DBNAME="test_db_name"                                 #要创建的数据库的库名称
 
MYSQL_CMD="mysql -h${HOSTNAME}  -P${PORT}  -u${USERNAME} -p${PASSWORD}"
echo ${MYSQL_CMD}
 
echo "drop database ${DBNAME}"
create_db_sql="drop database IF EXISTS ${DBNAME}"
echo ${create_db_sql}  | ${MYSQL_CMD}                    #创建数据库                   
if [ $? -ne 0 ]                                                                                #判断是否创建成功
then
 echo "drop databases ${DBNAME} failed ..."
 exit 1
fi
 
echo "create database ${DBNAME}"
create_db_sql="create database IF NOT EXISTS ${DBNAME} DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci"
echo ${create_db_sql}  | ${MYSQL_CMD}                         #创建数据库                   
if [ $? -ne 0 ]                                                                                #判断是否创建成功
then
 echo "create databases ${DBNAME} failed ..."
 exit 1
fi
 
echo "create user ${DBNAME}"
create_db_sql="grant all privileges on ${DBNAME}.* to ${DBNAME}@'%'  identified by '123456'"
echo ${create_db_sql}  | ${MYSQL_CMD}                         #创建数据库                   
if [ $? -ne 0 ]                                                                                #判断是否创建成功
then
 echo "create user ${DBNAME} failed ..."
 exit 1
fi


标签:赋权,shell,创建,数据库,db,DBNAME,mysql,echo,create
From: https://blog.51cto.com/zhangxueliang/7331363

相关文章

  • 无涯教程-Flutter - 数据库
    SQLite"class="css-1occaib">SQLite数据库是基于事实和标准SQL的嵌入式数据库引擎,它是小型且经过时间考验的数据库引擎,sqflite软件包提供了许多函数,可以有效地与SQLite数据库一起使用,它提供了操作SQLite数据库引擎的标准方法。在AndroidStudio中创建一个新的Flutter应用程序pr......
  • oracle 数据库自增长
    有的时候,我们在创建oracle自增序列时,会报错。这个时候不用慌,表创建完了就不用管了。然后我们可以根据下面的教程中的第二步,第三步,来创建序列。 --第一步创建表createtablet_user(user_idnumbernotnullprimarykey,user_namevarchar2(30),creditsnumber,user_pas......
  • Oracle - dblink 数据库之间的连接
    介绍dblink数据库链接顾名思义就是数据库的链接,就像电话线一样,是一个通道,当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。创建dblink--查询是否......
  • COMP8711数据库建模与信息管理
    FlindersUniversity2023S2COMP8711DatabaseModellingandInformationManagementAssignment1Duedate:10September2023Thisassessmentisanindividualassessment.Theassignmentisworth25%ofthetotalassessment.Itwillbemarkedoutof25.GeneralSpe......
  • shell之ceph分布式存储OSD使用率监控实战脚本
    当OSD空间使用超过85%,cephhealth就会有⚠️,说该OSDnearfull,这种情况下只是一个提醒,如果集群中很多OSD都nearfull,那么最合理的措施当然时添加OSD或者添加存储节点,即我们通常说的扩容。当osd使用满了后,集群将无法提供存储服务,无法继续写入数据,只读。所以需要对osd使用率进行监控并......
  • oracle 创建、查看、修改、删除、赋权directory目录
    如下:directory用于数据泵导入、导出创建的目录。1、查询directory目录select*fromdba_directories;2、创建或者修改directory目录createorreplacedirectory目录名称as'/存放目录路径'3、赋权directory目录grantread,writeondirectory目录名称t......
  • 从达梦数据库到Oracle数据库的性能测试数据迁移和导入优化
    为了在同样的数据基础上对比达梦数据库和Oracle数据库的业务性能,我们需要将达梦数据库的数据导入到Oracle数据库中。本文将提供一种思路来解决导入过程中遇到的问题及存在问题记录。数据库版本信息源数据库:达梦数据库(DM)V8目标数据库:Oracle数据库V11.2.0.4导出达梦数据库的......
  • 数据库敏感字段加解密便捷方式
    因为项目临时新加需求对数据库的敏感字段加解密,需要对项目的整体代码进行修改,可愁怀我了在网上发现有注解的方式可以进行针对字段加解密,感兴趣的可以去看原作者的文章https://blog.csdn.net/u012954706/article/details/105437768#comments我这里只是留下备档防止文章不见了,你们......
  • 达梦数据库:第一章:MySQL数据库与达梦数据库的区别
    达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM,它具有如下特点:1、通用性达梦数据库管理系统兼容多种硬件体系,可运行于X86、X64、SPARC、POWER等硬件体系之上。DM各种平台上的数据存储结构和消息通信结构完全一致,使得DM各种组件在不同的硬......
  • 什么是数据库
    数据库是一种用于有效地存储、组织、管理和检索数据的结构化集合或系统。它是计算机科学和信息技术领域中的重要概念,通常用于在计算机系统中持久地存储和管理大量数据。数据库可以容纳各种类型的数据,例如文本、数字、图像、音频和视频等。数据库系统通常包括以下关键组件:数据:......