Skip to content


yum安装(mysql8.0.16示例)

一、导入并安装仓库包

yum源文件:https://dev.mysql.com/downloads/mysql/

image-20241109010852459

image-20241109010928014

image-20241104221409270

进入解压包安装mysql

yum localinstall *

二、初始化并修改密码

# 启动mysql进程
systemctl start mysqld
# 加入开机自启动
systemctl enable mysqld
# 查看初始密码
grep "password" /var/log/mysqld.log
# 登录
mysql -uroot -p'初始密码'
# 修改初始密码(允许登录必须是localhost,后面再修改登录范围)
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

三、修改登录范围与密码默认加密方式

查看用户情况

select user,host,plugin,authentication_string from mysql.user;

image-20241104231253067

修改用户登录范围为所有人

# 修改root允许登录范围
update mysql.user set host='%' where user='root';
# 使配置生效
flush privileges;

加入新用户并设置加密方式

# mysql_native_password 是加密方式
create user '新用户'@'登录范围' identified with mysql_native_password by '密码'
# 使配置生效
flush privileges;

修改配置文件中的默认加密方式(修改root的可以用上面的方法)

vi /etc/my.cnf
default-authentication-plugin=mysql_native_password

image-20241104232907298

修改已存在的用户加密方式

# mysql_native_password为加密方式
alter user 'root'@'%' identified with mysql_native_password by '你的密码';

四、修改密码策略

# 查看密码策略
show variables like 'validate%';

image-20241104233828423

策略参数如下

  • validate_password.dictionary_file #指定密码验证的文件路径;
  • validate_password.length #固定密码的总长度,默认为8;实际密码可以长于他不能短于他
  • validate_password.mixed_case_count #整个密码中至少要包含大/小写字母的总个数;
  • validate_password.number_count #整个密码中至少要包含阿拉伯数字的个数;
  • validate_password.policy #指定密码的强度验证等级,默认为 MEDIUM;
  • validate_password.special_char_count #整个密码中至少要包含特殊字符的个数

validate_password.policy 取值如下:

  • 0(LOW)—— 只验证长度
  • 1(MEDIUM) —— 验证长度、数字、大小写、特殊字符;
  • 2(STRONG) —— 验证长度、数字、大小写、特殊字符、字典文件;

修改策略

# 仅举例密码强度的修改,其他参考上面的变量与策略
set global 常见安全策略参数=安全策略值;
set global validate_password.policy=LOW; 

修改root用户密码为123(一定要 show variables like 'validate%';看变量,有可能下面的变量不一样)

# 修改密码强度为低级
set global validate_password.policy=LOW;
# 修改密码特殊字符要求最少个数
set global validate_password.special_char_count=0;
# 修改密码大小写字母要求最少个数
set global validate_password.mixed_case_count=0;
# 修改密码最小位数
set global validate_password.length=3;
# 修改新密码
alter user 'root'@'%' identified with mysql_native_password by '123';



----------------------------另一种-----------------------------------------
set global validate_password_policy=LOW;
set global validate_password_special_char_count=0;
set global validate_password_mixed_case_count=0;
set global validate_password_length=3;

第一种变量

image-20241104235922538

第二种变量

image-20241108222355729

五、修修改UUID

进入vi /var/lib/mysql/auto.cnf

image-20241105085628710

记得重启mysql

yum remove mysql-community-common mysql-community-server mysql-community-client mysql-community-libs
rm -rf /var/lib/mysql
rm -f /etc/my.cnf

Comments