ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

离线安装mysql5.7(shell脚本自动安装2022-02-06更新)

2022-02-06 19:58:12  阅读:170  来源: 互联网

标签:02 x86 rpm MySQL 离线 64 mysql 安装 el7


背景:有时候自己搭建集群或者测试MySQL的时候,需要经常安装MySQL,之前写过离线的安装文档,但还是感觉不太方便,每次都会花费很长时间,现在改成shell脚本自动安装MySQL,直接配置好新密码和远程访问,整个过程只需要几分钟就搞定

MySQL的相关依赖包:

百度网盘中也上传了安装包,可以直接提取 2022-02-06添加
链接:https://pan.baidu.com/s/1XhrxmldLGrW9xCVRYlrUEA?pwd=ye4f
提取码:ye4f

这些是MySQL的相关依赖包

在这里插入图片描述

shell脚本介绍:

1.建立临时文件夹
2.解压zip文件
3.删除centos7自带的MySQL
4.按顺序安装MySQL相关的依赖包
5.修改MySQL的密码(自己用的话可以设置简单的密码,生产上用建议用复杂密码)
6.配置MySQL可以被远程访问(实际开发中也是,有些机器需要有访问这个机器MySQL的权限)

#!/bin/bash


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


#第二步、把新上传的MySQL的安装包移动到mysql_soft下
mv mysql57.zip mysql_soft


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


#解压MySQL的安装包,在当前目录下
unzip mysql57.zip


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

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


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


echo -e "验证旧版的MySQL是否被删除干净:   ${mysql_validate}"


#开始安装MySQL,注意:这些包安装是有顺序的
rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm

#判断安装的过程是否成功
if [ $? == 0 ];then
	echo -e "安装------libaio-0.3.109-13.el7.x86_64.rpm  --  第1个包------- 成功"
else
	echo -e "安装------libaio-0.3.109-13.el7.x86_64.rpm  --  第1个包------- 失败"
fi

#第二个包
rpm -ivh perl-Data-Dumper-2.145-3.el7.x86_64.rpm


if [ $? == 0 ];then
        echo -e "安装------perl-Data-Dumper-2.145-3.el7.x86_64.rpm  --  第2个包------- 成功"
else
        echo -e "安装------perl-Data-Dumper-2.145-3.el7.x86_64.rpm  --  第2个包------- 失败"
fi


#第三个包:安装rpm -ivh numactl* 这是安装以前缀numactl开始的所有安装包
rpm -ivh numactl*


if [ $? == 0 ];then
        echo -e "安装------numactl*  --  第3个包------- 成功"
else
        echo -e "安装------numactl*  --  第3个包------- 失败"
fi


#第四个包:解压mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
tar -xf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar

if [ $? == 0 ];then
        echo -e "解压------mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar  ------- 成功"
else
        echo -e "解压------mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar  ------- 失败"
fi


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

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

#第五个包:安装mysql-community-libs-*
rpm -ivh mysql-community-libs-*

if [ $? == 0 ];then
        echo -e "安装------mysql-community-libs-*  --  第5个包------- 成功"
else
        echo -e "安装------mysql-community-libs-*  --  第5个包------- 失败"
fi

#第六个包:安装mysql-community-devel-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.26-1.el7.x86_64.rpm
if [ $? == 0 ];then
        echo -e "安装------mysql-community-devel-5.7.26-1.el7.x86_64.rpm  --  第6个包------- 成功"
else
        echo -e "安装------mysql-community-devel-5.7.26-1.el7.x86_64.rpm  --  第6个包------- 失败"
fi

#第七个包:安装net-tools-2.0-0.25.20131004git.el7.x86_64.rpm
rpm -ivh net-tools-2.0-0.25.20131004git.el7.x86_64.rpm
if [ $? == 0 ];then
        echo -e "安装------net-tools-2.0-0.25.20131004git.el7.x86_64.rpm  --  第7个包------- 成功"
else
        echo -e "安装------net-tools-2.0-0.25.20131004git.el7.x86_64.rpm  --  第7个包------- 失败"
fi

#第八个包:安装mysql-community-client-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm
if [ $? == 0 ];then
        echo -e "安装------mysql-community-client-5.7.26-1.el7.x86_64.rpm  --  第8个包------- 成功"
else
        echo -e "安装------mysql-community-client-5.7.26-1.el7.x86_64.rpm  --  第8个包------- 失败"
fi

#第九个包:安装mysql-community-server-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm
if [ $? == 0 ];then
        echo -e "安装------mysql-community-server-5.7.26-1.el7.x86_64.rpm  --  第9个包------- 成功"
else
        echo -e "安装------mysql-community-server-5.7.26-1.el7.x86_64.rpm  --  第9个包------- 失败"
fi

#启动MySQL
service mysqld start

#验证是否启动成功可以查看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 "查看MySQL的原始密码是啥?    ${password_mysql}"

#连接MySQL的几个参数
hostname="localhost"
#hostname="192.168.15.12"
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=0;
	set global validate_password_length=1;
	alter user 'root'@'localhost' identified by '123456';
	

	quit

EOF


new_password="123456" #这里是配置远程访问策略
mysql -h${hostname} -u${username} -P${port} -p${new_password} <<EOF
        GRANT ALL PRIVILEGES ON *.*TO 'root'@'%' IDENTIFIED BY '123456';
	flush privileges;

        quit

EOF






标签:02,x86,rpm,MySQL,离线,64,mysql,安装,el7
来源: https://blog.csdn.net/qq_38220334/article/details/122800824

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有