linux 利用脚本安装mysql

脚本代码:新建文件将代码拷贝修改文件名称:mysql_install.sh

#!/bin/bash
#-------------CopyRight-------------  
#   Name:MySQL Install 5.6
#   Version Number:1.02
#   System:CentOS7 
#   Type:shell 
#   Language:bash shell  
#   Date:2019-11-11
#   Author:Lxq
#------------------------------------  
##########################################################
#功能:使用mysql二进制包安装mysql-5.6
##########################################################
#mysql下载地址:https://dev.mysql.com/downloads/mysql/mysql-5.6.45-linux-glibc2.12-x86_64.tar.gz
#shell执行方式:
#sh mysql_install.sh mysql-5.6.45-linux-glibc2.12-x86_64.tar.gz
###########################################################
#以下变量按需修改,目录自动创建
MYSQL_PORT=3307           #MySQL端口
MYSQL_BASEDIR=/data/mysql  #MySQL软件目录
MYSQL_DATADIR=/data/MySQLData  #MySQL数据目录
#以下变量无需修改--------------------------.64.174------------------
MYSQL_USER=root
MYSQL_PWD=`openssl rand -base64 9`
MYSQL_CONN="${MYSQL_BASEDIR}/bin/mysql -u${MYSQL_USER} -p${MYSQL_PWD}"
MYSQL_TAR=$1
#等待30秒时间,确认变量配置
COUNT=30
while [ ${COUNT} -gt 0 ]
do
	echo "请确认变量配置是否正确,${COUNT}秒后开始安装,按Ctrl+C中断!"
	echo "MySQL端口:MYSQL_PORT=${MYSQL_PORT}"
	echo "MySQL软件目录:MYSQL_BASEDIR=${MYSQL_BASEDIR}"
	echo "MySQL数据目录:MYSQL_DATADIR=${MYSQL_DATADIR}"
	sleep 1
	clear
	let COUNT=COUNT-1
done
#依赖包安装
function rpm_install 
{
sudo rpm -qa|grep autoconf > /dev/null 2>&1 && \
sudo rpm -qa|grep libaio-devel > /dev/null 2>&1
if [[ $? -ne 0 ]]; then
	echo "正在安装 autoconf 和 libaio-devel ..."
	sudo yum -y install autoconf libaio-devel>/dev/null 2>&1
    if [[ $? -ne 0 ]]; then
		echo " autoconf 和 libaio-devel 安装失败,请正确配置软件源!"
    	exit 1
 	fi
fi
}
#MySQL安装
function mysql_install
{
sudo sed -i "s@SELINUX=enforcing@SELINUX=disabled@" /etc/selinux/config
setenforce 0
sudo mkdir -p ${MYSQL_BASEDIR}
sudo mkdir -p ${MYSQL_DATADIR}
sudo tar -xvf ${MYSQL_TAR} -C ${MYSQL_BASEDIR} --strip-components 1
sudo useradd -r mysql -s /sbin/nologin
sudo chown -R mysql.mysql ${MYSQL_DATADIR}
sudo chown -R mysql.mysql ${MYSQL_BASEDIR}
#初始化MySQL
sudo ${MYSQL_BASEDIR}/scripts/mysql_install_db --basedir=${MYSQL_BASEDIR} \
--datadir=${MYSQL_DATADIR} --user=mysql --pid-file=${MYSQL_BASEDIR}/mysql.pid ||exit -1
#创建MySQL启动脚本
sudo cp ${MYSQL_BASEDIR}/support-files/mysql.server /etc/init.d/mysqld
sudo chmod +x /etc/init.d/mysqld
#备份配置文件
if [[ ! -f /etc/my.cnf.bk ]]; then
	sudo cp /etc/my.cnf /etc/my.cnf.bk
fi
#修改配置文件
sudo cat>/etc/my.cnf <> /etc/profile
sudo echo  "export PATH=\$MYSQL_HOME/bin:\$PATH" >> /etc/profile
source /etc/profile
#启动MySQL
sudo /etc/init.d/mysqld start
#设置开机启动
sudo echo "/etc/init.d/mysqld start" >>/etc/rc.local
sudo chmod +x /etc/rc.d/rc.local
#删除空用户
sudo ${MYSQL_BASEDIR}/bin/mysqladmin -u root password "${MYSQL_PWD}"
sudo ${MYSQL_CONN} -e "delete from mysql.user where user=''; \
delete from mysql.db where user='';"
#保存MySQL安装信息
sudo echo "port:${MYSQL_PORT}" >>${MYSQL_BASEDIR}/mysql.txt
sudo echo "basedir:${MYSQL_BASEDIR}" >>${MYSQL_BASEDIR}/mysql.txt
sudo echo "datadir:${MYSQL_DATADIR}" >>${MYSQL_BASEDIR}/mysql.txt
sudo echo "root passwd:${MYSQL_PWD}" >>${MYSQL_BASEDIR}/mysql.txt
sudo echo "mysql初始密码保存在${MYSQL_BASEDIR}/mysql.txt"	
}

case $1 in
"")
echo "Usage: sh $0 [压缩包路径]"
;;
*)
if test ! -f $1
then
	echo "Error:压缩包名称或路径错误!"
else
	rpm_install
	mysql_install
fi
;;
esac

 安装包是百度网盘地址:

链接:https://pan.baidu.com/s/1-S-Lb-bN3fGw7TPMPJwyoQ 
提取码:k5jl

安装步骤:

sh mysql_install.sh mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz

安装完成之后无法使用:
	## 把mysql安装目录,比如mysqlpath/bin/mysql,映射到/usr/local/bin
	## cd /usr/local/bin
	## ln -fs /mysqlpath/bin/mysql mysql

 

你可能感兴趣的:(linux,linux,利用脚本安装mysql)