searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Linux脚本自动化部署MySQL

2025-03-13 19:22:15
1
0

自动化部署MySQL的脚本

#!/bin/bash

# 配置参数
MYSQL_ROOT_PASSWORD="your_secure_password"  # MySQL root用户密码
DB_USER="your_db_user"                      # 创建的数据库用户
DB_PASSWORD="your_db_password"              # 数据库用户密码
DB_NAME="your_db_name"                      # 创建的数据库名称
LOG_FILE="/var/log/mysql_deployment.log"   # 日志文件路径

# 检查并创建日志文件
if [ ! -f "$LOG_FILE" ]; then
  touch "$LOG_FILE"
fi

# 记录日志函数
log() {
  echo "$(date +"%Y-%m-%d %H:%M:%S") - $1" >> "$LOG_FILE"
}

# 安装MySQL
log "开始安装MySQL..."
sudo apt-get update
sudo apt-get install -y mysql-server mysql-client

# 检查MySQL是否安装成功
if ! command -v mysql &> /dev/null; then
  log "MySQL安装失败,请检查日志文件:$LOG_FILE"
  exit 1
fi

log "MySQL安装成功"

# 配置MySQL
log "开始配置MySQL..."

# 设置root用户密码
log "设置MySQL root用户密码..."
sudo mysql_secure_installation <<EOF

y
$MYSQL_ROOT_PASSWORD
$MYSQL_ROOT_PASSWORD
y
y
y
y
EOF

# 创建数据库和用户
log "创建数据库和用户..."
mysql -u root -p"$MYSQL_ROOT_PASSWORD" -e "CREATE DATABASE $DB_NAME;"
mysql -u root -p"$MYSQL_ROOT_PASSWORD" -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASSWORD';"
mysql -u root -p"$MYSQL_ROOT_PASSWORD" -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost';"
mysql -u root -p"$MYSQL_ROOT_PASSWORD" -e "FLUSH PRIVILEGES;"

log "数据库和用户创建成功"

# 配置MySQL的防火墙规则
log "配置MySQL的防火墙规则..."
sudo ufw allow mysql

log "MySQL部署完成!"

脚本说明

  1. 安装MySQL
    • 使用apt-get安装MySQL服务器和客户端。
  2. 配置MySQL
    • 使用mysql_secure_installation脚本设置root用户密码并进行安全配置。
    • 创建一个新的数据库和用户,并授予用户对该数据库的完全权限。
  3. 防火墙配置
    • 使用ufw允许MySQL服务通过防火墙。
  4. 日志记录
    • 所有操作都会记录到指定的日志文件中,方便后续排查问题。
0条评论
0 / 1000
王****际
180文章数
2粉丝数
王****际
180 文章 | 2 粉丝
原创

Linux脚本自动化部署MySQL

2025-03-13 19:22:15
1
0

自动化部署MySQL的脚本

#!/bin/bash

# 配置参数
MYSQL_ROOT_PASSWORD="your_secure_password"  # MySQL root用户密码
DB_USER="your_db_user"                      # 创建的数据库用户
DB_PASSWORD="your_db_password"              # 数据库用户密码
DB_NAME="your_db_name"                      # 创建的数据库名称
LOG_FILE="/var/log/mysql_deployment.log"   # 日志文件路径

# 检查并创建日志文件
if [ ! -f "$LOG_FILE" ]; then
  touch "$LOG_FILE"
fi

# 记录日志函数
log() {
  echo "$(date +"%Y-%m-%d %H:%M:%S") - $1" >> "$LOG_FILE"
}

# 安装MySQL
log "开始安装MySQL..."
sudo apt-get update
sudo apt-get install -y mysql-server mysql-client

# 检查MySQL是否安装成功
if ! command -v mysql &> /dev/null; then
  log "MySQL安装失败,请检查日志文件:$LOG_FILE"
  exit 1
fi

log "MySQL安装成功"

# 配置MySQL
log "开始配置MySQL..."

# 设置root用户密码
log "设置MySQL root用户密码..."
sudo mysql_secure_installation <<EOF

y
$MYSQL_ROOT_PASSWORD
$MYSQL_ROOT_PASSWORD
y
y
y
y
EOF

# 创建数据库和用户
log "创建数据库和用户..."
mysql -u root -p"$MYSQL_ROOT_PASSWORD" -e "CREATE DATABASE $DB_NAME;"
mysql -u root -p"$MYSQL_ROOT_PASSWORD" -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASSWORD';"
mysql -u root -p"$MYSQL_ROOT_PASSWORD" -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost';"
mysql -u root -p"$MYSQL_ROOT_PASSWORD" -e "FLUSH PRIVILEGES;"

log "数据库和用户创建成功"

# 配置MySQL的防火墙规则
log "配置MySQL的防火墙规则..."
sudo ufw allow mysql

log "MySQL部署完成!"

脚本说明

  1. 安装MySQL
    • 使用apt-get安装MySQL服务器和客户端。
  2. 配置MySQL
    • 使用mysql_secure_installation脚本设置root用户密码并进行安全配置。
    • 创建一个新的数据库和用户,并授予用户对该数据库的完全权限。
  3. 防火墙配置
    • 使用ufw允许MySQL服务通过防火墙。
  4. 日志记录
    • 所有操作都会记录到指定的日志文件中,方便后续排查问题。
文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0