Linux编写Shell脚本安装Mysql(if判断)

适用系统版本:Centos7

脚本思路:

        首先判断Mysql服务是否存在,如果存在修改仓库中的Mysql版本为5.7,修改成功后安装服务,开启服务,想要使用弱密码登录数据库在数据库配置文件my.cnf中添加validate_password=off参数(不需要则删除该命令),重启服务,获取Mysql初始化密码使用msyqladmin命令修改密码。如果Mysql服务不存在,先下载仓库再重复的步骤。

使用过程:

        创建脚本文件:

                vim a.sh    //使用vi文件管理命令打开,文件名随意但必须以.sh结尾

#!/bin/bash
#author:hyy
#version:v1.0
#function:Install and initialize the MySQL database.
#判断Mysql服务是否存在
mysql_rpm=`rpm -qa |grep mysql`
if [ $? -eq 0 ];then
  #存在安装yum-utils工具将版本由8.0改为5.7
  yum -y install yum-utils &>/dev/null
  yum-config-manager --disable mysql80-community &>/dev/null && yum-config-manager --enable  mysql57-community &>/dev/null
		if [ $? -eq 0  ];then
            #版本修改成功后安装Mysql和Mysql服务
            yum -y install mysql mysql-server &>/dev/null
                if [ $? -eq 0 ];then
                      #安装成功后开启Mysql服务
                      systemctl start mysqld
                      if [ $? -eq 0 ];then
                          #将强密码策略修改为弱密码,添加参数后在重启,如果不需要则可删除该命令
					      echo "validate_password=off" >> /etc/my.cnf
                          systemctl restart mysqld
                          #获取数据库初始密码使用mysqladmin命令修改密码为123
                          pass=` cat  /var/log/mysqld.log|grep password|grep localhost|grep is|awk '{print $NF}'`
                          mysqladmin -u root -p"$pass" password "123" &>/dev/null
                                if [ $? -eq 0 ];then
                                     echo "The password was successfully changed to 123."
                                else
                                     echo "Password modification failed."
                                fi
                     else
                          echo "MySQL failed to start."
                     fi
                else
                      echo "The service installation succeeded."
                fi
	
	    else
			echo "The repository version has not been modified successfully."
		fi

else
        #Mysql数据库不存在,先下载仓库到/etc/yum.repos.d/
        wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm &>/dev/null
	rpm -ivh mysql80-community-release-el7-7.noarch.rpm &>/dev/null
	if [ $? -eq 0 ];then
        #存在安装yum-utils工具将版本由8.0改为5.7
		yum -y install yum-utils &>/dev/null
		yum-config-manager --disable mysql80-community &>/dev/null && yum-config-manager --enable  mysql57-community &>/dev/null
		if [ $? -eq 0  ];then
            yum -y install mysql mysql-server &>/dev/null
                if [ $? -eq 0 ];then
                      systemctl start mysqld
                      if [ $? -eq 0 ];then
					      echo "validate_password=off" >> /etc/my.cnf
                          systemctl restart mysqld
                          pass=` cat  /var/log/mysqld.log|grep password|grep localhost|grep is|awk '{print $NF}'`
                          mysqladmin -u root -p"$pass" password "123" &>/dev/null
                                if [ $? -eq 0 ];then
                                     echo "The password was successfully changed to 123."
                                else
                                     echo "Password modification failed."
                                fi
                     else
                          echo "MySQL failed to start."
                     fi
                else
                      echo "The service installation succeeded."
                fi
	    else
			echo "The repository version has not been modified successfully."
		fi
	else 
		echo "The repository download failed."
	fi
fi

        执行脚本文件:

                方式一:bash a.sh

                方式二:chmod a+x a.sh

                               ./a.sh

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Que_art

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值