MySQL自动化安装shell脚本

这是一个示例的Shell脚本,用于离线安装MySQL(适用于CentOS系统):
#!/bin/bash
# 设置目标安装目录
INSTALL_DIR="/opt/mysql"
# 设置MySQL的root密码
MYSQL_ROOT_PASSWORD="your_password"
# 解压MySQL安装包
tar xf mysql.tar.gz -C /opt
# 移动MySQL解压目录
mv /opt/mysql-* "${INSTALL_DIR}"
# 创建MySQL数据存储目录
mkdir -p "${INSTALL_DIR}/data"
# 创建MySQL配置文件
cat << EOF > "${INSTALL_DIR}/my.cnf"
[mysqld]
basedir = ${INSTALL_DIR}
datadir = ${INSTALL_DIR}/data
pid-file = ${INSTALL_DIR}/mysql.pid
socket = ${INSTALL_DIR}/mysql.sock
log-error = ${INSTALL_DIR}/mysql.err
[client]
socket = ${INSTALL_DIR}/mysql.sock
EOF
# 初始化MySQL数据库
"${INSTALL_DIR}/bin/mysqld" --defaults-file="${INSTALL_DIR}/my.cnf" --initialize-insecure
# 启动MySQL服务
"${INSTALL_DIR}/bin/mysqld_safe" --defaults-file="${INSTALL_DIR}/my.cnf" --user=mysql &
# 设置root账户的密码
"${INSTALL_DIR}/bin/mysql" --defaults-file="${INSTALL_DIR}/my.cnf" --user=root <<_EOF_
ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}';
FLUSH PRIVILEGES;
_EOF_
# 设置MySQL在系统启动时自动启动
cat << EOF > /etc/systemd/system/mysql.service
[Unit]
Description=MySQL Server
After=network.target
[Service]
ExecStart=${INSTALL_DIR}/bin/mysqld_safe --defaults-file=${INSTALL_DIR}/my.cnf --user=mysql
ExecStop=${INSTALL_DIR}/bin/mysqladmin --defaults-file=${INSTALL_DIR}/my.cnf shutdown
Restart=always
[Install]
WantedBy=multi-user.target
EOF
# 启动MySQL服务
sudo systemctl start mysql
# 设置MySQL在系统启动时自动启动
sudo systemctl enable mysql
# 打印MySQL版本
echo "MySQL version:"
"${INSTALL_DIR}/bin/mysql" --version
请注意,此脚本假设你已经将MySQL安装包命名为mysql.tar.gz并与脚本位于同一目录下。你需要根据实际情况修改INSTALL_DIR和MYSQL_ROOT_PASSWORD变量的值。
保存脚本文件为install_mysql.sh(或其他你喜欢的名字),然后在终端中执行以下命令来运行脚本:
chmod +x install_mysql.sh
./install_mysql.sh
脚本将执行以下操作:
解压MySQL安装包到指定目录 /opt/mysql
创建MySQL数据存储目录 /opt/mysql/data
创建MySQL配置文件 /opt/mysql/my.cnf
初始化MySQL数据库
启动MySQL服务
设置root密码
创建MySQL服务的systemd启动配置
设置MySQL在系统启动时自动启动
打印MySQL版本信息
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值