本文介绍: MySQL是一款广泛使用开源关系数据库管理系统,但是在安装配置过程可能遇到一些繁琐的步骤。为了简化这一过程本文介绍一个自动化安装MySQL的Shell脚本。该脚本通过下载MySQL的压缩包解压指定目录然后自动设置配置文件服务,并完成MySQL的初始化配置使用脚本用户可以快速、方便地完成MySQL的安装配置节省了大量的时间和精力。

介绍

本文介绍一个自动化安装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-$versionn
  bindir=$installDir/mysql-$version/binn
  if test -z "'"$datadir"'"n
  thenn
    datadir=$installDir/mysql-$version/datan
  fin
  sbindir=$installDir/mysql-$version/binn
  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

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

在这里插入图片描述

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

成功如下图

在这里插入图片描述

4. 进入 MySQL

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

mysql -uroot -proot

下图
在这里插入图片描述

总结

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

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

原文地址:https://blog.csdn.net/zcs2312852665/article/details/134754190

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_29940.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注