自动化部署mysql5.6版本

1、下面是自动化shell脚本部署mysql5.6版本的,注意mysql5.7在初始化的时候,有一个地方显示初始化mysql的密码。所以不适用于mysql5.7版本。

其次,这里需要先将5.6版本的包放到SOFTWARE_PATH地方。然后根据实际情况可以修改脚本中的变量。

[root@bfd01 shell]# cat install_mysql.sh 
#!/bin/bash

#系统版本号
RELEASE=''
#mysql安装包名
MYSQL_VERSION='mysql-5.6.39-linux-glibc2.12-x86_64'

#mysql安装的位置
MYSQL_INSTALL_PATH='/usr/local'

#存放二进制包的路径
SOFTWARE_PATH='/opt/software'


#获取操作系统的版本号
RELEASE=`lsb_release -a |grep  Release |awk '{print $2}'|awk -F '.' '{print $1}'`

#1 步骤输出 紫色
#2 正确输出 绿色
#3 错误输出 红色
#4 提示输出 蓝色
#5 警告输出 黄色
function echo_fun(){
  if [ $# -ge 2 ];then
     params_num=$1
     shift 1
     params_mes=$@
  else
    echo_fun 3 请至少输入两个参数 echo_fun ..
    exit
  fi
  case $params_num in
        1)
        echo -e "\033[35;40;1m  ***************************** ${params_mes} *****************************\033[0m\r\n"
        ;;
        2)
        echo -e "\033[32;40;1m ${params_mes}\033[0m\r\n"
        ;;
        3)
        echo -e "\033[31;40;1m ${params_mes}\033[0m\r\n"
        ;;
        4)
        echo -e "\033[36;40;1m ${params_mes}\033[0m\r\n"
        ;;
        5)
        echo -e "\033[33;40;1m ${params_mes} \033[0m\r\n"
        ;;
        *)
        echo_fun 3 参数异常第一个参数应为1,2,3,4,5
        ;;
   esac
}

echo_fun 1 mysql部署安装


#检查之前是否存在mysql用户,删除之前存在mysql用户。

echo_fun 4 检查之前是否存在mysql用户,删除之前存在mysql用户
OldUser=`cat /etc/passwd|grep mysql |awk -F ':' '{print $1}'`
if [ "$OldUser" = "mysql" ]; then

   userdel mysql
   rm -rf /home/mysql
   rm -rf /var/spool/mail/mysql
   echo_fun 2 删除成功
fi


#创建新的mysql用户

echo_fun 4 创建新的mysql用户
groupadd mysql
useradd -m -g mysql mysql


#部署安装

echo_fun 4 开始安装
cd $SOFTWARE_PATH
tar -xf ${MYSQL_VERSION}.tar.gz  -C  ${MYSQL_INSTALL_PATH}
ln -s ${MYSQL_INSTALL_PATH}/${MYSQL_VERSION}   ${MYSQL_INSTALL_PATH}/mysql
chown -R mysql:mysql ${MYSQL_INSTALL_PATH}/mysql*
cd ${MYSQL_INSTALL_PATH}
chown -R mysql:mysql mysql*

cd  ${MYSQL_INSTALL_PATH}/mysql
cp support-files/my-default.cnf  /etc/my.cnf
cp support-files/mysql.server  /etc/init.d/mysql.server


#初始化数据库

echo_fun 4 初始化数据库
scripts/mysql_install_db --user=mysql
if [ $RELEASE = '6' ];then
  service mysql.server start
elif [ $RELEASE = '7'];then 
  systemctl start mysql.server
fi

mysql_pid_num=`ps -ef |grep mysqld|grep -v grep|wc -l`

if [ $mysql_pid_num -ge 2 ];then
  echo_fun 2 安装成功,并已经启动mysql服务
else
  echo_fun 3 安装失败
fi


#配置环境变量

echo_fun 4 配置环境变量
echo -e 'export MYSQL_HOME=/usr/local/mysql\nexport PATH=${MYSQL_HOME}/bin:$PATH'>> /etc/profile
source /etc/profile


#初始化mysql的root用户密码
echo_fun 4 初始化mysql的root用户密码
mysql  -uroot << EOF 
set password = password("baifendian");
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'baifendian';
GRANT ALL PRIVILEGES ON *.* TO 'root'@localhost IDENTIFIED BY 'baifendian';
flush privileges;
EOF

这里写图片描述
这里写图片描述

猜你喜欢

转载自blog.csdn.net/wyl9527/article/details/78817930
今日推荐