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

Linux脚本自动化部署MySQL-20250314

2025-03-13 17:52:51
2
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
刘****渺
1文章数
3粉丝数
刘****渺
1 文章 | 3 粉丝
刘****渺
1文章数
3粉丝数
刘****渺
1 文章 | 3 粉丝
原创

Linux脚本自动化部署MySQL-20250314

2025-03-13 17:52:51
2
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
请输入你的评论
1
0