在Linux中编译一键部署安装mysql

一键部署MySQL

在企业中常常需要安装各种应用软件,而rpm不能够很好的适应公司中自己的特定需求,因此今天介绍一种在linux下编译安装MySQL的脚本

一:下载软件包

https://downloads.mysql.com/archives/get/p/23/file/mysql-community-5.7.29-1.el7.src.rpm

点击该链接后自动下载源码包

二:讲源码包上传至Linux服务器

通过xftp 将windows上的源码包发送Linux服务器

点击

点击该箭头所指向文件

在这里插入图片描述

三:编写一键安装脚本

#!/bin/bash
#author:whitewhale
#time:2020-5-12
#QQ:550177201
####################
#编译安装MYSQL 5.7.29
#os : centos7.8.2003
####################

##第1步##
#解决软件依赖关系,安装各种包
yum install cmake ncurses-devel gcc gcc-c++ vim lsof  bzip2 -y
#假定mysql的源码包已经上传到Linux服务器的当前目录下
#解压src的rpm包
rpm -ivh mysql-community-5.7.29-1.el7.src.rpm

##第3步##
#进入/root/rpmbuild目录
cd /root/rpmbuild/SOURCES

##第4步##
#新建用户
useradd -r -s /sbin/nologin mysql

##第5步##
#新建数据目录

mkdir -p /data/mysql

##第6步##
#修改数据目录的拥有者为mysql

chown mysql:mysql /data/mysql

##第7步##
#解压真正的源码包
tar xf mysql-5.7.29.tar.gz
tar xf boost_1_59_0.tar.gz2
mv boost_1_59_0 mysql-5.7.29
#进入解压后的目录
cd mysql-5.7.29

##第8步##
#编译前的配置

##第9步##
#开始编译 2为分配2个核去编译工作 配置好的机器可以多分核用来加快编译速度
make -j 2
#安装编译好的二进制文件到指定的目录 ==》复制当前目录下编译好的二进制文件到当前指定的目录
make install

##第10步##
#备份清空myql.cnf文件
cp /etc/my.cnf /root/mysql.cnf.bak

> /etc/my.cnf

##第11步##
#进入安装好的mySqld目录
cd  /usr/local/sc_mysql/bin

##第12步##
#执行MySQL这个程序,初始化我们的mysql,并且讲日志和临时密码重定向到/root/temp_passwd.txt文件里
./mysqld --initialize --user=mysql --basedir=/usr/local/sc_mysql --datadir=/data/mysql &>/root/temp_passwd.txt

##第13步##
#修改PATH变量,让Linux系统里可以找到我们编译安装的命令
PATH=$PATH:/usr/local/sc_mysql/bin

#/etc/profile /etc/bashrc /root/.bashrc /root/.bash_profile
echo "PATH=$PATH:/usr/local/sc_mysql/bin" >>/etc/bashrc

##第14步##
#关闭防火墙和selinux
service firewalld stop
systemctl disable firewalld
setenforce 0

#永久修改selinux配置文件里的内容

sed -i 's/=enforcing/=disabled/g' /etc/selinux/config

##第15步##
#拷贝mysqld的程序文件到指定目录,方便后面设置mysqld服务开机启动 ————》mysqld服务的启动,停止,重启的脚本

cp ../support-files/mysql.server  /etc/init.d/mysqld

chkconfig mysqld on

##第16步##
#启动mysql
service mysqld start

#Starting MySQL.Logging to '/data/mysql/localhost.localdomain.err'.
#. SUCCESS! 
#出现如上语句则成功

##第17步##
#登陆MYsql并且重新设置密码Wjw123456#
#从保存的临时密码文件里,截取出临时密码,赋值给变量temp_pwd
temp_pwd=$(cat /root/temp_password.txt|tail -1 |awk '{print $11}')

###开始登陆mysql,其中-p 后的内容为临时密码!
mysql -uroot -p$temp_pwd  --connect-expired-password -e "set passwd='Wjw123456#'"

##第18步##
##最终给与提示##
echo  "###### congratulation! your mysql has be installed successfully ######"

猜你喜欢

转载自blog.csdn.net/qq_41086909/article/details/112968058