不同系统下通用的mysql安装脚本Ubuntu or CentOS

#!/bin/bash

# 检查操作系统类型
if [[ $(lsb_release -si) == "Ubuntu" ]]; then
    # Ubuntu系统
    echo "当前操作系统为Ubuntu"

    # 更新apt-get包管理器
    echo "更新apt-get包管理器..."
    apt-get update || { echo "无法更新apt-get包管理器,请检查网络连接或手动更新"; exit 1; }

    # 提示用户输入MySQL root密码
    echo "请输入MySQL root密码:"
    read -s MYSQL_ROOT_PASSWORD

    # 安装MySQL服务器
    echo "正在安装MySQL..."
    debconf-set-selections <<< "mysql-server mysql-server/root_password password $MYSQL_ROOT_PASSWORD"
    debconf-set-selections <<< "mysql-server mysql-server/root_password_again password $MYSQL_ROOT_PASSWORD"
    apt-get install -y mysql-server mysql-client || { echo "无法安装MySQL,请检查网络连接或手动安装"; exit 1; }

    # 备份并修改MySQL配置文件
    echo "正在备份并修改MySQL配置文件..."
    cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf.bak
    sed -i 's/bind-address\s*=\s*127.0.0.1/bind-address = 0.0.0.0/' /etc/mysql/mysql.conf.d/mysqld.cnf
    systemctl restart mysql.service

    # 验证MySQL是否已安装成功
    echo "验证MySQL是否安装成功..."
    mysql --version || { echo "MySQL未正确安装,请检查安装过程中是否出现错误"; exit 1; }

    echo "MySQL安装完成!"

elif [[ $(cat /etc/redhat-release) == "CentOS"* ]]; then
    # CentOS系统
    echo "当前操作系统为CentOS"

    # 检查当前用户是否为root用户
    if [ "$EUID" -ne 0 ]
        then echo "请使用root用户运行此脚本"
        exit 1
    fi

    # 更新yum包管理器
    echo "更新yum包管理器..."
    yum update -y || { echo "无法更新yum包管理器,请检查网络连接或手动更新"; exit 1; }

    # 提示用户输入MySQL root密码
    echo "请输入MySQL root密码:"
    read -s MYSQL_ROOT_PASSWORD

    # 安装MySQL服务器
    echo "正在安装MySQL..."
    yum install -y mariadb-server mariadb || { echo "无法安装MySQL,请检查网络连接或手动安装"; exit 1; }

    # 启动MySQL服务
    echo "正在启动MySQL..."
    systemctl start mariadb || { echo "无法启动MySQL服务"; exit 1; }

    # 设置MySQL开机自启
    echo "设置MySQL开机自启..."
    systemctl enable mariadb

    # 修改MySQL root账户密码
    echo "正在修改MySQL root账户密码..."
    mysql -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('$MYSQL_ROOT_PASSWORD');" || { echo "无法修改MySQL root账户密码"; exit 1; }

    echo "MySQL安装完成!"

else
    echo "不支持的操作系统类型"
    exit 1
fi

如果用户在脚本运行过程中出现错误,脚本会在每一步操作后打印出错误信息,并退出脚本。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值