sheel命令 vmware环境 服务mysql自动安装

#!/bin/bash

#此文件安装完mysql 要 配置mysql密码重设'12345678'
			#启动mysql
			#确定密码和hive-site.xml 文件中输入的密码一致
			#如果没有成功 用grep 'temporary password' /var/log/mysqld.log
			#set global validate_password_policy=0;
			#alter user 'root'@'localhost' identified by 'mima'
			#grant all on *.* to root@'%' identified by 'mima' 重置密码
cd ~ 
ARSL=`pwd`
ARSL="$ARSL/.ALLOW_RM_SRC_LOG"
cd -
#将一个变量存入到这个ALLOW_RM_SRC_LOG文件中
function checkAndRecord(){
	if [ ! -e $ARSL ]		#不存在
	then
		eval touch $ARSL		#就创建
	fi
	RST=`eval cat $ARSL|grep $1` #到文件中找 $1 这里我们要拿的是字符串二不是结果所以 使用了eval
	if [ -z $RST ]		#如果没有就追加
	then		
		echo $1>>$ARSL
	fi
}

checkAndRecord mysql

function stopService(){
	RST=`systemctl status $1|grep ' active (.*)'`

	if [ -n "$RST" ]  #-n 和不写是一样的
	then
    		echo -n "service $1 is active running ... "  # -n 不换行
    		systemctl stop $1
    		RST=`systemctl status $1|grep ' active (.*)'`
    		if [[ $RST ]]	
    		then
     	   		echo 'but fail to close'
     	   		exit -1
    		else
     	   		echo 'and succeed in closing'
    		fi
	else
   	 	echo "service $1 is inactive dead"
	fi
}

function removeRpm(){

	RST=`cat $ARSL|grep $1`		#查询这个已添加的文件
	if [ -z $RST ]			#如果再这个文件中存在
	then
		RST=`rpm -qa|grep $1`		#查询所有mysql服务
		echo "============== yum remove $1 ================"
		for i in $RST
		do
    			yum -y remove $i 1>/dev/null 2>&1    #移除这些资源 后台不能进行控制台输出
    			echo $i"... removed"
		done
		echo "============================================="
		RST=`find / -name $1`
		echo "================== clear $1 left resoure 剩下的资源要删掉==================="
		for i in $RST
		do
			rm -rf $i	
		done
		echo "============================================="
		rm -f $2".*" 	#$2要传一个路径 
		echo "$1 left resource $2 has been removed"
	else
		echo "WARN : you are trying to remove $1 which is not allowed"
	fi
}

#rpm安装:兼容远程安装和本地安装(提供rpm资源的完整路径)
function installRpm(){
	RST=$1		#要安装的服务地址
	ISERNAME=$2		#要安装的服务名
	SSERNAME=$3		#要启动的服务名称
	if [[ $RST=~^http ]];then		#已http开头是外部资源引入
		echo "rpm install $RST ... "
		wget $RST
		RST=`basename $RST`
	fi 
	rpm -ivh $RST    # i   install
	yum -y install $ISERNAME
	DIR="$4.cnf"
	if [ -e $DIR  ]					#存在次配置文件
	then
		cat $DIR>$5		#rpm的配置信息的位置 把提前写好的配置信息覆盖到传进来的参数中
		echo "$4 configuration has been overwritten"
	else
		echo "there may be chinese random code for lack of $DIR"	     #不存在提示
	fi
	systemctl start $SSERNAME
	checkAndRecord $4		#未来资源根路径的路径名
	echo "$ISERNAME installed"
}
stopService mysqld
removeRpm mysql /etc/my.cnf
SRC="https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm"
installRpm $SRC mysql-server mysqld mysql /etc/my.cnf
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值