适用系统版本: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