MySQL5.7安装与配置:自动化一键安装配置

介绍

本文介绍了一个自动化安装MySQL的Shell脚本。该脚本可以帮助用户快速安装MySQL,并自动进行配置和初始化。通过使用该脚本,用户无需手动执行繁琐的安装步骤,大大简化了MySQL的安装过程。

使用shell自动化安装教程

1. 复制脚本

首先,将以下脚本内容复制并保存为/tmp/install_mysql.sh文件。

#!/bin/bash

installDir="/opt/module/mysql"
version="5.7.44"

if [ -z $(command -v wget) ]; then
  sudo yum install -y wget
  echo "wget安装完成"
fi
if [ ! -d "${installDir}" ]; then
  sudo mkdir -p "${installDir}"
  if [ $? -eq 0 ]; then
    echo "安装目录${installDir}已创建"
  else
    echo "请确保您有足够的权限来创建目录,请增加权限后再次执行"
    exit 1
  fi
fi
if [ ! -f /tmp/mysql-$version-linux-glibc2.12-x86_64.tar.gz ]; then
  wget https://dev.mysql.com/get/Downloads/MySQL-${version:0:3}/mysql-$version-linux-glibc2.12-x86_64.tar.gz -P /tmp
  if [ $? -eq 0 ]; then
    echo "/tmp/mysql-$version-linux-glibc2.12-x86_64.tar.gz下载成功"
  else
    echo "/tmp/mysql-$version-linux-glibc2.12-x86_64.tar.gz下载失败,请重试或手动下载到/tmp目录下再次执行"
    echo "下载地址:https://dev.mysql.com/get/Downloads/MySQL-${version:0:3}/mysql-$version-linux-glibc2.12-x86_64.tar.gz"
    exit 1
  fi
fi

if [ -d $installDir/mysql-$version ]; then
  echo "$installDir/mysql-$version 已存在,正在删除"
  sudo rm -rf $installDir/mysql-$version
fi
tar -zxvf /tmp/mysql-$version-linux-glibc2.12-x86_64.tar.gz -C $installDir
if [ $? -eq 0 ]; then
  echo "/tmp/mysql-$version-linux-glibc2.12-x86_64.tar.gz解压成功"
  mv $installDir/mysql-$version-linux-glibc2.12-x86_64 $installDir/mysql-$version
  echo "mysql-$version-linux-glibc2.12-x86_64已重命名为mysql-$version"
else
  echo "/tmp/mysql-$version-linux-glibc2.12-x86_64.tar.gz解压失败,请查看异常信息后重试"
  exit 1
fi

mycnf="[mysqld]
datadir=$installDir/mysql-$version/data
port=3306
user=root
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
lower_case_table_names=1"
echo "$mycnf" > /etc/my.cnf
if [ $? -eq 0 ]; then
  echo "/etc/my.cnf设置成功"
else
  echo "/etc/my.cnf设置失败,请查看异常信息解决后,再次执行此脚本"
  exit 1
fi

mysqlserver="  basedir=$installDir/mysql-$version\n\
  bindir=$installDir/mysql-$version/bin\n\
  if test -z "'\"$datadir\"'"\n\
  then\n\
    datadir=$installDir/mysql-$version/data\n\
  fi\n\
  sbindir=$installDir/mysql-$version/bin\n\
  libexecdir=$installDir/mysql-$version/bin"

sed -i '/  basedir=\/usr\/local\/mysql/,/  libexecdir=\/usr\/local\/mysql\/bin/c '"$mysqlserver"'' $installDir/mysql-$version/support-files/mysql.server
if [ $? -eq 0 ]; then
  echo "mysql.server设置成功"
else
  echo "mysql.server设置失败,请查看异常信息解决后,再次执行此脚本"
  exit 1
fi

if [ -d $installDir/mysql-$version/data ]; then
  sudo rm -rf $installDir/mysql-$version/data
else
  $installDir/mysql-$version/bin/mysqld --initialize --user=root --datadir=$installDir/mysql-$version/data --basedir=$installDir/mysql-$version
  if [ $? -eq 0 ]; then
    echo "初始化 MySQL 数据库成功"
    echo "请输入生成的临时密码:"
    read password
    $installDir/mysql-$version/support-files/mysql.server start
    if [ $? -eq 0 ]; then
      echo "mysql服务启动成功"
      ln -s $installDir/mysql-$version/support-files/mysql.server /etc/init.d/mysql
      ln -s $installDir/mysql-$version/bin/mysql /usr/bin/mysql
      if [ $? -eq 0 ]; then
        echo "创建符号链接成功"
      else
        echo "创建符号链接失败"
      fi
    else
      echo "mysql服务启动失败,请查看异常信息解决后,再次执行此脚本"
      exit 1
    fi
    service mysql restart
    if [ $? -eq 0 ]; then
      echo "mysql服务重启成功"
    else
      echo "mysql服务重启失败,请查看异常信息解决后,再次执行此脚本"
      exit 1
    fi
    mysql --connect-expired-password -uroot -p"$password" -e "set password for root@localhost = password('root');"
    if [ $? -eq 0 ]; then
      echo "mysql密码已经设置为root"
    else
      echo "mysql密码设置为root失败,请查看异常信息解决后,再次执行此脚本"
      exit 1
    fi
    mysql -uroot -proot -e "use mysql; update user set user.Host='%' where user.User='root'; flush privileges;"
    if [ $? -eq 0 ]; then
      echo "mysql远程连接设置成功"
    else
      echo "mysql远程连接设置失败,请查看异常信息解决后,再次执行此脚本"
      exit 1
    fi
    # 设置MySQL服务在开机时自动启动
    cp $installDir/mysql-$version/support-files/mysql.server /etc/init.d/mysqld
    sudo chmod +x /etc/init.d/mysqld
    # /sbin/chkconfig是一个用于管理系统服务的命令,它可以用来设置服务的启动级别。
    sudo chkconfig --add mysqld
    # 将mysqld服务设置为开机启动
    /sbin/chkconfig mysqld on
  else
    echo "初始化 MySQL 数据库失败,请查看异常信息后重试"
    exit 1
  fi
fi

exit 0

2. 增加执行权限

在终端中执行以下命令,为脚本添加执行权限。

chmod a+x /tmp/install_mysql.sh

3. 执行脚本

执行以下命令,运行脚本开始下载、安装和配置MySQL5.7。

/tmp/install_mysql.sh

执行过程中需要输入临时密码:

MySQL5.7安装与配置:自动化一键安装配置_第1张图片

请耐心等待,直到下载、安装和配置完成。执行过程中会显示相关信息。

成功如下图:

MySQL5.7安装与配置:自动化一键安装配置_第2张图片

4. 进入 MySQL

现在,您可以使用以下命令进入 MySQL 数据库:

mysql -uroot -proot

如下图:
MySQL5.7安装与配置:自动化一键安装配置_第3张图片

总结

本文详细介绍了一个自动化安装MySQL的Shell脚本,该脚本通过简化安装过程,使用户能够快速安装和配置MySQL。通过使用该脚本,用户无需手动执行繁琐的安装步骤,只需运行脚本即可完成MySQL的安装和配置。这不仅提高了安装的效率,还减少了出错的可能性。这个自动化安装MySQL的Shell脚本为用户提供了一个便捷的安装解决方案,使其能够更轻松地搭建MySQL环境。

希望本教程对您有所帮助!如有任何疑问或问题,请随时在评论区留言。感谢阅读!

你可能感兴趣的:(大数据,mysql,bash,linux)