目录

一、卸载mysql

二、安装mysql


注:本文主要是看了这位大佬安装MySQL,才想着写一篇记录一下。

安装mysql之前一定要将之前安装的mysql相关文件删除干净,防止出现错误

开启mysql关闭没有就跳过这一步

systemctl stop mysqld
rpm -aq | grep mysql
# 以第查到的文件为准

rpm -ev mysql-community-release-el7-5.noarch
rpm -ev mysql-community-common-5.6.51-2.el7.x86_64
find / -name mysql
#以实际查询到的为准
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql/mysql

这里基本卸载已经完成了,不确定可以再用上面的命令查看一下。

cd ~
wget http://repo.mysql.com/mysql80-community-release-el7-7.noarch.rpm
rpm -Uvh mysql80-community-release-el7-7.noarch.rpm
yum -y install mysql-community-server --nogpgcheck
systemctl start mysqld.service
systemctl status mysqld.service
grep 'temporary password' /var/log/mysqld.log
mysql -u root -p
mysql> set global validate_password_policy=0;
ERROR 1193 (HY000): Unknown system variable 'validate_password_policy'
mysql> set global validate_password_length=1;
ERROR 1193 (HY000): Unknown system variable 'validate_password_length'

为什么呢?

是因为mysql8.0和MySQL5.7密码校验规则不同。不符合MySQL密码规范,才报错的。

正确如下

mysql> set global validate_password.policy=0;

mysql>  set global validate_password.length=1;
  1. 分析可以看到修改 policylength 的值,在MySQL5.7中好使,在MySQL8.0中无效。‘validate_password_policy’ 变量存在

  2. 解决:先修改一个满足规则的密码(如:Root_root123)。

mysql> SHOW VARIABLES LIKE 'validate_password%';
+-------------------------------------------------+--------+
| Variable_name                                   | Value  |
+-------------------------------------------------+--------+
| validate_password.changed_characters_percentage | 0      |
| validate_password.check_user_name               | ON     |
| validate_password.dictionary_file               |        |
| validate_password.length                        | 8      |
| validate_password.mixed_case_count              | 1      |
| validate_password.number_count                  | 1      |
| validate_password.policy                        | MEDIUM |
| validate_password.special_char_count            | 1      |
+-------------------------------------------------+--------+
8 rows in set (0.13 sec)
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注