简易Shell脚本安装yum/redis/mysql/nginx-Centos7系统-有网版

简要说明

目前支持的安装版本

Nginx:1.20.1

Mysql:5.7 、8.0

Redis:3.2.12

USER=root
MYSQL_PASSWORD=Bacmp_123
MYSQL_VERSION=8

脚本中的用户、mysql密码、mysql版本为可配置项

版本可选5.7或者8-需要5.7版本【MYSQL_VERSION=8 改成 MYSQL_VERSION=5】
密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。

进入正题

新建&编辑.sh文件

mkdir /my
vi /my/easy.sh

把脚本内容复制进.sh文件-然后保存

完整脚本如下

#!/bin/sh
USER=root
MYSQL_PASSWORD=Bacmp_123
MYSQL_VERSION=8
echo "正在检查工具安装-请稍后"
echo "============================================================"
rpm -qc yum &>/dev/null
if [ $? -ne 0 ];then
        echo "本机没有安装YUM-正在尝试安装"
	sudo curl -o /tmp/yum-3.4.3-168.el7.centos.noarch.rpm http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpm && sudo curl -o /tmp/yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm && sudo curl -o /tmp/yum-utils-1.1.31-54.el7_8.noarch.rpm http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-utils-1.1.31-54.el7_8.noarch.rpm
	sudo rpm -ivh --nodeps /tmp/yum-3.4.3-168.el7.centos.noarch.rpm /tmp/yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm /tmp/yum-utils-1.1.31-54.el7_8.noarch.rpm
        if [ $? -eq 0 ];then
                echo "YUM-版本3.4.3-安装成功"
        else
                echo "YUM-安装失败"
        fi
else
        echo "本机已安装YUM"
fi
echo "============================================================"
rpm -qa | grep mysql &>/dev/null
if [ $? -ne 0 ];then
	echo "本机没有安装MYSQL-正在尝试安装"
	if [ $MYSQL_VERSION -eq 8 ];then
		rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
		sudo wget https://dev.mysql.com/get/mysql80-community-release-el7-4.noarch.rpm && yum -y install mysql80-community-release-el7-4.noarch.rpm && yum makecache
		yum -y install mysql-community-server
		if [ $? -eq 0 ];then
			sudo systemctl start mysqld && sudo systemctl enable mysqld
			TEMP_PASSWORD=$(grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}')
			echo "请手动输入初始密码:$TEMP_PASSWORD"
			mysql -u $USER -p --connect-expired-password -e "ALTER USER '$USER'@'localhost' IDENTIFIED BY '$MYSQL_PASSWORD';CREATE USER '$USER'@'%' IDENTIFIED BY '$MYSQL_PASSWORD';GRANT ALL PRIVILEGES ON *.* TO '$USER'@'%' WITH GRANT OPTION;FLUSH PRIVILEGES;"
			echo "MYSQL版本8.0-安装成功-新密码:$MYSQL_PASSWORD"
		else
			echo "MYSQL-安装失败"
		fi
	else
		rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
		sudo wget https://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm && yum -y install mysql57-community-release-el7-10.noarch.rpm && yum makecache
		yum -y install mysql-community-server
		if [ $? -eq 0 ];then
			sudo systemctl start mysqld && sudo systemctl enable mysqld
			TEMP_PASSWORD=$(grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}')
			echo "请手动输入初始密码:$TEMP_PASSWORD"
			mysql -u $USER -p --connect-expired-password -e "ALTER USER '$USER'@'localhost' IDENTIFIED BY '$MYSQL_PASSWORD';GRANT ALL PRIVILEGES ON *.* TO '$USER'@'%' IDENTIFIED BY '$MYSQL_PASSWORD' WITH GRANT OPTION;FLUSH PRIVILEGES;"
			echo "MYSQL-版本5.7-安装成功-新密码:$MYSQL_PASSWORD"
		else
			echo "MYSQL-安装失败"
		fi
	fi
		
else
	echo "本机已安装MYSQL"
fi
echo "============================================================"
rpm -qa | grep redis &>/dev/null
if [ $? -ne 0 ];then
	echo "本机没有安装REDIS-正在尝试安装"
	yum -y install redis
	if [ $? -eq 0 ];then
		sudo systemctl start redis && sudo systemctl enable redis
		echo "REDIS-版本3.2.12-安装成功"
	else
		echo "REDIS-安装失败"
	fi
else
	echo "本机已安装REDIS"
fi
echo "============================================================"
rpm -qa | grep nginx &>/dev/null
if [ $? -ne 0 ];then
	echo "本机没有安装NGINX-正在尝试安装"
	yum -y install nginx
	if [ $? -eq 0 ];then
		sudo systemctl start nginx && sudo systemctl enable nginx
		echo "NGINX-版本1.20.1-安装成功"
	else
		echo "NGINX-安装失败"
	fi
else
	echo "本机已安装NGINX"
fi
echo "============================================================"
firewall-cmd --zone=public --add-port=3306/tcp --permanent &>/dev/null
firewall-cmd --zone=public --add-port=6379/tcp --permanent &>/dev/null
firewall-cmd --zone=public --add-port=80/tcp --permanent &>/dev/null
firewall-cmd --reload &>/dev/null
if [ $? -ne 0 ];then
	echo "工具检查完毕-防火墙开放端口失败[ 6379 | 3306 | 80 ]-请检查防火墙是否开启"
else
	echo "工具检查完毕-防火墙已开放端口[ 6379 | 3306 | 80 ]"
fi
echo "============================================================"

使脚本具有执行权限-执行脚本

chmod +x /my/easy.sh
/my/easy.sh

查看运行状态 

# 查看运行状态
sudo systemctl status mysqld
sudo systemctl status redis
sudo systemctl status nginx

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值