#!/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
sheel命令 vmware环境 服务mysql自动安装
最新推荐文章于 2024-06-06 16:15:41 发布