Centos7 yum安装 mysql8.0+一键部署脚本
1、mysql官网(https://downloads.mysql.com/),下载rpm包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.42-1.el7.x86_64.rpm-bundle.tar
2、解压
mkdir mysql8 tar xvf mysql-8.0.42-1.el7.x86_64.rpm-bundle.tar -C ./mysql8
3、安装
cd mysql8 yum install -y *.rpm
4、启动msql,找到登录密码
systemctl start mysqld cat /var/log/mysqld.log | grep password
5、先修改复杂点的mysql密码,然后再改回来
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Sykj_2022' password expire never;
6、创建用户并授权
create user 'root'@'%' IDENTIFIED BY 'sykj_2022' ; grant all privileges on *.* to 'root'@'%' WITH GRANT OPTION;
7、查看 mysql 初始的密码策略
SHOW VARIABLES LIKE 'validate_password%'; 关于 mysql 密码策略相关参数; 1)、validate_password.length 固定密码的总长度; 2)、validate_password.dictionary_file 指定密码验证的文件路径; 3)、validate_password.mixed_case_count 整个密码中至少要包含大/小写字母的总个数; 4)、validate_password.number_count 整个密码中至少要包含阿拉伯数字的个数; 5)、validate_password.policy 指定密码的强度验证等级,默认为 MEDIUM; 关于 validate_password.policy 的取值: 0/LOW:只验证长度; 1/MEDIUM:验证长度、数字、大小写、特殊字符; 2/STRONG:验证长度、数字、大小写、特殊字符、字典文件; 6)、validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;
8、修改密码策略
set global validate_password.policy=LOW;
9、刷新一下系统权限表
flush privileges;
一键部署脚本
vim deploy_mysql.sh
#/bin/bash updatePassword="sykj@2024" #下载rpm包 wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.42-1.el7.x86_64.rpm-bundle.tar #解压 echo "解压" mkdir mysql8 tar xvf mysql-8.0.42-1.el7.x86_64.rpm-bundle.tar -C ./mysql8 #安装 echo "安装" cd mysql8 yum install -y *.rpm #启动msql,找到登录密码 echo "启动msql,找到登录密码" systemctl start mysqld systemctl enable mysqld password=$(grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}') sleep 3 #登录mysql修改root用户密码,创建远程登录用户 echo "登录mysql修改root用户密码,创建远程登录用户" mysql --connect-expired-password -uroot -p"${password}" << eof ALTER USER root@'localhost' identified by "Sykj_2022"; INSTALL PLUGIN validate_password SONAME 'validate_password.so'; set global validate_password.policy=LOW; set global validate_password.length=1; ALTER USER root@'localhost' identified by "${updatePassword}"; CREATE USER 'root'@'%' identified by "${updatePassword}"; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; flush privileges; eof echo "脚本运行成功!"
chmod a+x deploy_mysql.sh
./deploy_mysql.sh

浙公网安备 33010602011771号