1. 改变数据库配置表
编辑 /etc/my.cnf, 在配置表前方退出“skip-grant-tables”, 意思是跳过跳过受权表, 即不再动摇账号密码的正确性, 应用 service mysqld restart 重启 mysql, 输出 mysql -uroot -p, 间接回车进入数据库命令行。
2. 更改明码
MySQL 5.7 之前的版本批改明码应用的语句是:
UPDATE user SET Password=PASSWORD('yourpassword') where USER='root';
5.7 之后的版本应该应用:
update mysql.user set authentication_string=password('yourpassword') where user='root';
或者
UPDATE user SET authentication_string=PASSWORD('yourpassword') where USER='root';
3. 重启除错
应用 service mysqld restart 再次重启 mysql 后,输出命令,会出错。
呈现的谬误:ERROR 1820 (HY000): Unknown error 1820。
解决:需从新用 alter 从新设置下明码, 然而间接设置可能会呈现 ERROR 1819。
起因是明码太简略, 能够改变下明码默认规定。
set global validate_password_policy=0;
set global validate_password_length=4;
alter user user() identified by '123456';
4. 常识引进
MySQL 对设置明码进行了默认的限度(policy = 1)。
即 MEDIUM,所以设置的明码必须合乎长度(默认为 8),且必须含有数字,小写或大写字母,特殊字符。
进入 MySQL 下:
(前提是 validate_password 插件必须曾经装置,从 5.7 版本开始默认装置)
首先,批改 validate_password_policy 参数的值
即 policy = 0,仅限度明码的长度 set global validate_password_policy=0;
查看默认明码的长度 select @@validate_password_length;
批改默认明码的长度(这里批改为 4)set global validate_password_length=4;
应用零碎:centos 7.6