简要说明
目前支持的安装版本
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