使用shell脚本自动化部署Mysql(linux环境)

Shell编程语言可算得上是运维人员必须掌握的一种技能了,Shell 基于命令行界面,通过运行脚本文件可以快速地完成一系列操作,并且 Shell 脚本可以与 Unix/Linux系统命令无缝衔接,使得编写自动化部署脚本变得非常方便和高效。

以下就是我之前编写的自动化部署 MySQL 的 Shell 脚本,仅供参考:

#!/bin/bash
# MySQL 自动化安装脚本

# 安装 MySQL
install_mysql()
{
    # 删除旧版本 MySQL
    echo "Removing old MySQL installations..."
    sudo apt-get remove mysql-server mysql-common mysql-client libmysqlclient-dev -y

    # 创建安装目录
    echo "Creating MySQL installation directory..."
    sudo mkdir -p /opt/mysql && cd /opt/mysql

    # 下载 MySQL 安装包
    echo "Downloading MySQL 5.7..."
    sudo wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz

    # 解压缩安装包
    echo "Extracting MySQL installation package..."
    sudo tar zxf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz

    # 重命名 MySQL 安装目录
    sudo mv mysql-5.7.35-linux-glibc2.12-x86_64 /opt/mysql/mysql

    # 创建 MySQL 数据目录
    echo "Creating MySQL data directory..."
    sudo mkdir -p /opt/mysql/mysql/data

    # 创建 MySQL 日志目录
    echo "Creating MySQL log directory..."
    sudo mkdir -p /opt/mysql/mysql/logs

    # 添加 MySQL 用户和组
    echo "Creating MySQL user and group..."
    sudo groupadd mysql
    sudo useradd -r -g mysql -s /bin/false mysql

    # 修改 MySQL 文件权限
    echo "Changing MySQL file permissions..."
    sudo chown -R mysql:mysql /opt/mysql/mysql

    # 初始化 MySQL 数据库
    echo "Initializing MySQL database..."
    sudo /opt/mysql/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/opt/mysql/mysql --datadir=/opt/mysql/mysql/data

    # 启动 MySQL 服务
    echo "Starting MySQL service..."
    sudo /opt/mysql/mysql/bin/mysqld_safe --defaults-file=/opt/mysql/mysql/my.cnf --user=mysql --datadir=/opt/mysql/mysql/data --log-error=/opt/mysql/mysql/logs/mysqld.log --pid-file=/opt/mysql/mysql/mysql.pid &

    # 添加 MySQL 服务自启动
    echo "Adding MySQL service auto-start..."
    sudo cp /opt/mysql/mysql/support-files/mysql.server /etc/init.d/mysql
    sudo chmod +x /etc/init.d/mysql
    sudo update-rc.d mysql defaults
    sudo service mysql start

    # 安全设置 MySQL
    echo "Securely setting up MySQL..."
    sudo mysql_secure_installation
}

# 执行安装 MySQL
install_mysql

上面的注释详细解释了脚本中每个命令的含义和作用,帮助大家更好地理解脚本的执行过程。

注意:这是一个基本的示例,实际操作中,还需对具体的环境和实际需要进行适当的调整。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Shell脚本在LAMP(Linux, Apache, MySQL, PHP)自动化部署中扮演着关键角色,它们允许系统管理员通过预定义的脚本来管理和配置这些关键组件。LAMP部署通常涉及以下几个步骤: 1. **环境设置**:首先,你需要确保你的服务器上已经安装了Linux操作系统、Apache web服务器、MySQL数据库和PHP编程语言。 2. **配置Apache**:编写或使用脚本配置Apache,可能包括设置虚拟主机、安装SSL证书等,确保web服务能够正确监听并处理请求。 3. **安装MySQL**:如果MySQL还未安装,脚本会用于下载并安装MySQL,设置root用户的密码以及基本权限。 4. **配置MySQL**:创建数据库、用户和权限,根据应用需求进行调整。 5. **PHP集成**:确保PHP模块与Apache兼容,并配置PHP-FPM(FastCGI Process Manager)。 6. **部署应用**:将PHP应用程序(如WordPress、Drupal等)的源码上传到指定目录,执行必要的初始化脚本或安装程序。 7. **环境变量和路径设置**:配置环境变量,确保PHP能访问MySQL服务器和Apache的配置。 8. **启动和停止服务**:创建启动/停止脚本,以便于系统管理。 9. **监控和日志管理**:配置日志记录和错误检查,确保系统的稳定运行。 10. **自动化部署流程**:使用版本控制工具(如Git)、构建工具(如Composer或npm)和CI/CD工具(如Jenkins或GitLab CI)实现代码的自动部署和更新。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kyrie_H

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值