mysql8.0安装脚本(yum)

#!/bin/bash
# yum安装
# 判断是否已经安装过mysql

# [[ `whereis mysql |wc -l` -ne 0 || `ss -lntup |grep mysql |wc -l` -ne 0 ]] && {
#   echo "你已经安装过mysql了..."
#   exit 1
# }
by_yum () { 
cat <<EOF

              #####建议在生产环境中使用高强度密码且大于8位!##### 

EOF
  read -p '设置你的mysql密码: ' password
  if [[ ${password} =~ [[:space:]] ]]; then
    echo "错误!输入内容不能包含空格字符.."
    exit 1
  elif [ ${#password} -lt 4 ];
  then
    echo "您的密码为${#password}位,建议设置大于4位的密码.."
    exit 1
  fi

  read -p '设置你的mysql的端口:(可回车跳过则为默认3306) ' port
  if [[ ${#port} -eq 0 ]]
  then
    port='3306'
  elif [[ ${#port} -ne 0 && `getenforce` == "Enforcing" ]];
  then
    setenforce 0
  elif ! [[ ${port} =~ ^[0-9]+$ ]];
  then
    echo "请输入4-5位数字不大于65535哦~"
    exit 1
  elif [[ ${port} -gt 65535 || ${#port} -gt 5 || ${#port} -lt 4 ]]
  then
    echo "请输入4-5位数字不大于65535哦~"
    exit 1
  fi

  yum install https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm -y &>/dev/null
  rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 &>/dev/null
  yum install -y mysql-community-server &>/dev/null
  sed "/\[mysqld\]/a port=${port}" /etc/my.cnf -i
  systemctl start mysqld
  if [[ $pass_length -lt 8 && ${password} =~ [0-9]+ ]];
  then
    # echo "您设置的密码强度并不是很高,建议在生存环境中高强度密码且大于8位!"
    mysql -uroot -p`awk '/localhost/{print $NF}' /var/log/mysqld.log` -e "alter user 'root'@'localhost' identified with mysql_native_password by 'Root@123456';" --connect-expired-password 2>/dev/null
    mysql -uroot -p'Root@123456' -e "set global validate_password.length=${#password};" --connect-expired-password 2>/dev/null
    mysql -uroot -p'Root@123456' -e "set global validate_password.policy=0;" --connect-expired-password 2>/dev/null
    mysql -uroot -p'Root@123456' -e "alter user 'root'@'localhost' identified with mysql_native_password by '${password}';" --connect-expired-password 2>/dev/null 
  elif [[ $pass_length -ge 8 || ${password} =~ [0-9]+ ]];
  then
    mysql -uroot -p`awk '/localhost/{print $NF}' /var/log/mysqld.log` -e "alter user 'root'@'localhost' identified with mysql_native_password by 'Root@123456';" --connect-expired-password 2>/dev/null
    mysql -uroot -p'Root@123456' -e "set global validate_password.policy=0;" --connect-expired-password 2>/dev/null
    mysql -uroot -p'Root@123456' -e "alter user 'root'@'localhost' identified with mysql_native_password by '${password}';" --connect-expired-password 2>/dev/null
  else
    mysql -uroot -p`awk '/localhost/{print $NF}' /var/log/mysqld.log` -e "alter user 'root'@'localhost' identified with mysql_native_password by '${password}';" --connect-expired-password 2>/dev/null
  fi
  mysql -uroot -p${password} -e "update mysql.user set host='%' where user='root'" 2>/dev/null
}

by_yum

# others () {
# # 二进制部署
# wget https://mirrors.aliyun.com/mysql/MySQL-8.0/mysql-8.0.27-el7-x86_64.tar.gz
# groupadd -r mysql ; \
# useradd -r -g mysql -s /sbin/nologin -M mysql ; \
# mkdir -p /usr/local/mysql/data ; \
# chown -R mysql.mysql /usr/local/mysql ; \
# tar -zxvf mysql-8.0.27-el7-x86_64.tar.gz -C /usr/local/mysql
# cd /usr/local/mysql/mysql-8.0.27-el7-x86_64/bin/
# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值