引言
在当今的互联网时代,数据库技术已经成为支撑网站和应用程序运行的重要基石。MySQL作为一款开源的关系型数据库管理系统,因其稳定、高效、易用等特点,被广泛应用于各种场景。对于Linux系统用户来说,使用Shell脚本一键安装MySQL5.9服务器可以大大简化操作流程。本文将为您详细介绍如何通过Shell脚本实现这一目标。
准备工作
在开始之前,请确保您的Linux系统满足以下条件:
- 操作系统:CentOS、Ubuntu等主流Linux发行版。
- 网络环境:能够访问MySQL官网下载页面。
- 超级用户权限:具有root权限或能够使用sudo命令。
安装依赖
MySQL5.9服务器依赖以下软件包:
# 安装依赖
yum install -y epel-release
yum install -y gcc make bison ncurses ncurses-devel openssl openssl-devel libaio libaio-devel
下载MySQL5.9源码
- 访问MySQL官网下载页面:https://dev.mysql.com/downloads/mysql/
- 下载MySQL5.9源码包,例如:mysql-5.9.37.tar.gz
- 将下载的源码包上传到Linux服务器。
编写安装脚本
创建一个名为install_mysql.sh的Shell脚本文件,并添加以下内容:
#!/bin/bash
# 设置MySQL安装目录
INSTALL_DIR="/usr/local/mysql"
# 设置MySQL数据目录
DATA_DIR="${INSTALL_DIR}/data"
# 设置MySQL用户
MYSQL_USER="mysql"
# 设置MySQL密码
MYSQL_PASSWORD="password"
# 创建MySQL安装目录和数据目录
mkdir -p "${INSTALL_DIR}" "${DATA_DIR}"
# 创建MySQL用户
useradd -r -M -s /sbin/nologin "${MYSQL_USER}"
# 解压MySQL源码包
tar -zxvf mysql-5.9.37.tar.gz -C "${INSTALL_DIR}"
# 进入MySQL源码目录
cd "${INSTALL_DIR}/mysql-5.9.37"
# 编译安装
cmake . -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" -DMYSQL_UNIX_ADDR="${INSTALL_DIR}/mysql.sock" -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
make
make install
# 初始化MySQL
${INSTALL_DIR}/scripts/mysql_install_db --user="${MYSQL_USER}" --datadir="${DATA_DIR}"
# 配置MySQL
cp support-files/my-default.cnf ${INSTALL_DIR}/etc/my.cnf
# 修改my.cnf配置文件
sed -i "s/^socket=\(.*\)$/socket=${INSTALL_DIR}/mysql.sock/" ${INSTALL_DIR}/etc/my.cnf
sed -i "s/^basedir=\(.*\)$/basedir=${INSTALL_DIR}/" ${INSTALL_DIR}/etc/my.cnf
sed -i "s/^datadir=\(.*\)$/datadir=${DATA_DIR}/" ${INSTALL_DIR}/etc/my.cnf
sed -i "s/^user=\(.*\)$/user=${MYSQL_USER}/" ${INSTALL_DIR}/etc/my.cnf
sed -i "s/^pid-file=\(.*\)$/pid-file=${INSTALL_DIR}/mysql.pid/" ${INSTALL_DIR}/etc/my.cnf
sed -i "s/^\[mysqld\]$/\[mysqld\]\n\[mysqld\]character-set-server=utf8\n\[mysqld\]collation-server=utf8_general_ci/" ${INSTALL_DIR}/etc/my.cnf
# 设置MySQL服务开机自启
cat >> /etc/rc.local <<EOF
${INSTALL_DIR}/bin/mysqld &
EOF
# 启动MySQL服务
${INSTALL_DIR}/bin/mysqld --initialize --user="${MYSQL_USER}" --basedir="${INSTALL_DIR}" --datadir="${DATA_DIR}" --pid-file="${INSTALL_DIR}/mysql.pid"
# 配置MySQL root用户密码
${INSTALL_DIR}/bin/mysql -u root -e "SET PASSWORD = PASSWORD('${MYSQL_PASSWORD}');"
# 设置MySQL用户权限
${INSTALL_DIR}/bin/mysql -u root -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;"
# 退出MySQL
exit
运行安装脚本
- 给予脚本执行权限:
chmod +x install_mysql.sh
- 运行脚本:
./install_mysql.sh
验证安装
- 查看MySQL进程是否在运行:
ps -ef | grep mysql
- 使用root用户登录MySQL:
${INSTALL_DIR}/bin/mysql -u root -p
- 输入之前设置的密码,即可登录MySQL。
总结
通过以上步骤,您已经成功使用Shell脚本一键安装了MySQL5.9服务器。如果您需要在其他Linux系统上安装MySQL,只需将脚本中的操作系统、MySQL版本、安装目录、用户名、密码等信息进行适当修改即可。希望本文能对您有所帮助!
