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
发表回复