关于mysql:MySQL-修改密码

5次阅读

共计 992 个字符,预计需要花费 3 分钟才能阅读完成。

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

正文完
 0