介绍
本文介绍了一个自动化安装MySQL的Shell脚本。该脚本可以帮助用户快速安装MySQL,并自动进行配置和初始化。通过使用该脚本,用户无需手动执行繁琐的安装步骤,大大简化了MySQL的安装过程。
使用shell自动化安装教程
1. 复制脚本
首先,将以下脚本内容复制并保存为/tmp/install_mysql.sh文件。
#!/bin/bashinstallDir="/opt/module/mysql"
version="5.7.44"if [ -z $(command -v wget) ]; thensudo yum install -y wgetecho "wget安装完成"
fi
if [ ! -d "${installDir}" ]; thensudo mkdir -p "${installDir}"if [ $? -eq 0 ]; thenecho "安装目录${installDir}已创建"elseecho "请确保您有足够的权限来创建目录,请增加权限后再次执行"exit 1fi
fi
if [ ! -f /tmp/mysql-$version-linux-glibc2.12-x86_64.tar.gz ]; thenwget https://dev.mysql.com/get/Downloads/MySQL-${version:0:3}/mysql-$version-linux-glibc2.12-x86_64.tar.gz -P /tmpif [ $? -eq 0 ]; thenecho "/tmp/mysql-$version-linux-glibc2.12-x86_64.tar.gz下载成功"elseecho "/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 1fi
fiif [ -d $installDir/mysql-$version ]; thenecho "$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 ]; thenecho "/tmp/mysql-$version-linux-glibc2.12-x86_64.tar.gz解压成功"mv $installDir/mysql-$version-linux-glibc2.12-x86_64 $installDir/mysql-$versionecho "mysql-$version-linux-glibc2.12-x86_64已重命名为mysql-$version"
elseecho "/tmp/mysql-$version-linux-glibc2.12-x86_64.tar.gz解压失败,请查看异常信息后重试"exit 1
fimycnf="[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 ]; thenecho "/etc/my.cnf设置成功"
elseecho "/etc/my.cnf设置失败,请查看异常信息解决后,再次执行此脚本"exit 1
fimysqlserver=" 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 ]; thenecho "mysql.server设置成功"
elseecho "mysql.server设置失败,请查看异常信息解决后,再次执行此脚本"exit 1
fiif [ -d $installDir/mysql-$version/data ]; thensudo rm -rf $installDir/mysql-$version/data
else$installDir/mysql-$version/bin/mysqld --initialize --user=root --datadir=$installDir/mysql-$version/data --basedir=$installDir/mysql-$versionif [ $? -eq 0 ]; thenecho "初始化 MySQL 数据库成功"echo "请输入生成的临时密码:"read password$installDir/mysql-$version/support-files/mysql.server startif [ $? -eq 0 ]; thenecho "mysql服务启动成功"ln -s $installDir/mysql-$version/support-files/mysql.server /etc/init.d/mysqlln -s $installDir/mysql-$version/bin/mysql /usr/bin/mysqlif [ $? -eq 0 ]; thenecho "创建符号链接成功"elseecho "创建符号链接失败"fielseecho "mysql服务启动失败,请查看异常信息解决后,再次执行此脚本"exit 1fiservice mysql restartif [ $? -eq 0 ]; thenecho "mysql服务重启成功"elseecho "mysql服务重启失败,请查看异常信息解决后,再次执行此脚本"exit 1fimysql --connect-expired-password -uroot -p"$password" -e "set password for root@localhost = password('root');"if [ $? -eq 0 ]; thenecho "mysql密码已经设置为root"elseecho "mysql密码设置为root失败,请查看异常信息解决后,再次执行此脚本"exit 1fimysql -uroot -proot -e "use mysql; update user set user.Host='%' where user.User='root'; flush privileges;"if [ $? -eq 0 ]; thenecho "mysql远程连接设置成功"elseecho "mysql远程连接设置失败,请查看异常信息解决后,再次执行此脚本"exit 1fi# 设置MySQL服务在开机时自动启动cp $installDir/mysql-$version/support-files/mysql.server /etc/init.d/mysqldsudo chmod +x /etc/init.d/mysqld# /sbin/chkconfig是一个用于管理系统服务的命令,它可以用来设置服务的启动级别。sudo chkconfig --add mysqld# 将mysqld服务设置为开机启动/sbin/chkconfig mysqld onelseecho "初始化 MySQL 数据库失败,请查看异常信息后重试"exit 1fi
fiexit 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环境。
希望本教程对您有所帮助!如有任何疑问或问题,请随时在评论区留言。感谢阅读!