Linux虚拟机一键安装MySql脚本

此脚本书写时仅为个人使用,如需使用可以修改,本篇内容为讲解需要修改的内容,完整脚本如下

#!/bin/bash

####################################
# 1.建立临时文件夹
# 2.tar文件 ,与此脚本放同一目录
# 3.删除centos7自带的MySQL
# 4.按顺序安装MySQL相关的依赖包
# 5.修改MySQL的密码 -- 默认使用密码为123456
# 6.配置MySQL可以被远程访问(实际开发中也是,有些机器需要有访问这个机器MySQL的权限)
# 7.开放3306端口,提供远程访问
# $? => 代表上一个命令执行后的退出状态: 0->成功,1->失败
# example => sh mysql8.0.26.sh
####################################
# echo -e "\e[1;32m****\e[0m"
# 安装vim
yum install -y vim


#第一步、创建一个临时的文件夹
mkdir mysql_rpm


#第二步、把新上传的MySQL的安装包移动到mysql_rpm下
mv mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar mysql_rpm


#进入到mysql_rpm目录下,开始执行下面的操作
cd mysql_rpm


#解压MySQL的安装包,在当前目录下
tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar 


#查看集群上现有的MySQL,需要删除掉
mysql_old=`rpm -qa | grep mariadb`
echo -e "\e[1;32m当前centos中MySQL版本是:   ${mysql_old}\e[0m"

#删除自带的MySQL
rpm -e --nodeps ${mysql_old}


#验证旧版本的MySQL是否被删除掉
mysql_validate=`rpm -qa | grep mariadb`


echo -e "\e[1;32m验证旧版的MySQL是否被删除干净:   ${mysql_validate}\e[0m"


#开始安装MySQL,注意:这些包安装是有顺序的
rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm

#判断安装的过程是否成功
if [ $? == 0 ];then
	echo -e "\e[1;32m安装------mysql-community-common-8.0.26-1.el7.x86_64.rpm  --  第1个包------- 成功\e[0m"
else
	echo -e "\e[1;31m安装------mysql-community-common-8.0.26-1.el7.x86_64.rpm  --  第1个包------- 失败\e[0m"
fi

#第二个包
rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm


if [ $? == 0 ];then
        echo -e "\e[1;32m安装------mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm  --  第2个包------- 成功\e[0m"
else
        echo -e "\e[1;31m安装------mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm  --  第2个包------- 失败\e[0m"
fi


#第三个包:安装rpm -ivh numactl* 这是安装以前缀numactl开始的所有安装包
rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm


if [ $? == 0 ];then
        echo -e "\e[1;32m安装------mysql-community-libs-8.0.26-1.el7.x86_64.rpm  --  第3个包------- 成功\e[0m"
else
        echo -e "\e[1;31m安装------mysql-community-libs-8.0.26-1.el7.x86_64.rpm  --  第3个包------- 失败\e[0m"
fi


#第四个包:安装mysql-community-client-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm

if [ $? == 0 ];then
        echo -e "\e[1;32m安装------mysql-community-client-8.0.26-1.el7.x86_64.rpm  第4个包------- 成功\e[0m"
else
        echo -e "\e[1;31m安装------mysql-community-client-8.0.26-1.el7.x86_64.rpm  第4个包------- 失败\e[0m"
fi

yum install -y net-tools
yum install -y perl
yum install libaio


#第五个包:安装 mysql-community-server-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm

if [ $? == 0 ];then
        echo -e "\e[1;32m安装------mysql-community-server-8.0.26-1.el7.x86_64.rpm  --  第5个包------- 成功\e[0m"
else
        echo -e "\e[1;31m安装------mysql-community-server-8.0.26-1.el7.x86_64.rpm  --  第5个包------- 失败\e[0m"
fi


#启动MySQL
service mysqld start
# systemctl start mysqld

#验证是否启动成功可以查看MySQL的启动状态
service mysqld status >start.log

#查看MySQL的初始密码,把携带密码信息加载到下面这个文件中
grep 'temporary password' /var/log/mysqld.log >result.txt


#读取文件中的密码,用于登录MySQL
password_mysql=`cat result.txt | grep 'localhost' | awk -F ': ' '{print $2}'`
echo -e "\e[1;32m查看MySQL的原始密码是啥 \e[0m -->  \e[1;31m  ${password_mysql}\e[0m"

#连接MySQL的几个参数
hostname="localhost"
username="root"
port="3306"

#进入MySQL的交互模式,修改相应的参数,设置简单的密码为123456,为了以后自己用方便,实际上生产的密码都比较复杂一些
#mysql -h${hostname} -u${username} -P${port} -p${password_mysql} <<EOF
mysql  -u${username} -p${password_mysql} --connect-expired-password <<EOF
set global validate_password.policy=LOW;						
set global validate_password.length=4;							
set global validate_password.mixed_case_count=0;	  
set global validate_password.number_count=0;			 	
set global validate_password.special_char_count=0;	
alter user root@localhost identified by '123456';
create user 'root'@'%' identified by  '123456';
grant all privileges on *.* to 'root'@'%' with grant option;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;

	quit

EOF

# # 防火墙开启状态下,开放3306端口
# openPort(){
#   echo -e "\e[1;32m开放3306端口"
#   firewall-cmd --zone=public --add-port=3306/tcp --permanent
#   echo -e "\e[1;32m重启firewall..."
#   firewall-cmd --reload
# }
# openPort

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值