shell脚本自动化部署mysql

一、shell脚本自动部署mysql


#!/bin/env bash

#注意:
#(1)把安装包放入/root/my下面,脚本也放入/root/my,脚本名称设置为setup.sh,脚本名别带上mysql字样,否则第一步的杀死进程会导致脚本终端
#(2)执行脚本方式为:bash -x /root/my/setup.sh &> /root/setup.sh
#(3)centos版本为CentOS Linux release 7.9.2009 (Core)


exedir=/root/my
log=/root/mysqlresult.log
exe=$exedir/`ls -l -crt *tar*| awk '{print $9 }'`


function kill()
{
ps -ef | grep mysql|awk -F" " '{print $2}'|xargs kill -9
}



#检查是否安装mariadb,如果安装执行删除
function mariadb()
{
	echo
	echo "------------------------"
	echo "1、检查是否安装mariadb"
	yum list installed | grep mariadb
	if [ $? -eq 0 ]
	then
	 	yum -y remove  mariadb*
	 	echo "已删除mariadb"
	else 
		echo "不存在mariadb"
	fi
	echo "------------------------"
        echo
}

function mysqlfile()
{
	echo
	echo "------------------------"
	echo "2、删除所有mysql目录"
	find / -name mysql
	if [ $? -eq 0 ]
	then
		find / -name mysql -exec rm -rf  {} \;
		echo "已删除含有mysql目录"
	fi
	echo "------------------------"
        echo
}


function mysqluser()
{
	echo
	echo "------------------------"
	echo "3、建立mysql用户和mysql用户组"
	id mysql
	if [ $? -eq 0 ]
	then 
		userdel -r mysql
		groupdel mysql
		groupadd mysql
		useradd -r -g mysql mysql
		echo "已删除mysql用户和用户组并重新建立组!"
		
	else
		groupadd mysql
		useradd -r -g mysql mysql
		echo "不存在mysql用户和用户组,重新建立完成!"
	fi
	echo "------------------------"
        echo
}


function jieya()
{	
	echo
	echo "------------------------"
	echo "4、解压安装包"
	cd $exedir
	tar xvf $exe
	anzhuagnbao=`ls -l -crt| awk '{print $9 }'|tail -1`
	mv $anzhuagnbao /usr/local/
	cd /usr/local/
	mv $anzhuagnbao mysql
	cd /usr/local/mysql
	mkdir /usr/local/mysql/data
	chown -R mysql:mysql /usr/local/mysql
	chmod -R 755 /usr/local/mysql
	cd /usr/local/mysql/bin
	yum -y install libaio-devel.x86_64
	yum -y install libaio.so.1
	yum -y install numactl
	yum -y install libstdc++.so.6
	yum -y install libnuma.so.1
	yum -y install libtinfo.so.5
	cd /usr/local/mysql/bin
	echo "------------------------"
        echo
}

function init()
{
	echo
	echo "------------------------"
        echo "5、初始化"
	cd /usr/local/mysql/bin/
	./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
	echo "------------------------"
        echo
}




function mycnf()
{
	echo
	echo "------------------------"
        echo "6、修改mysql配置文件"
	rm -rf /etc/my.cnf
	touch /etc/my.cnf
cat >> /etc/my.cnf < $log 

你可能感兴趣的:(linux,mysql,mysql,linux,shell)