一、首次登录时,修改root账户的密码:
vim /etc/my.cnf
在末尾添加 skip-grant-tables ,保存。
service mysqld restart
再次登录时,不需要密码验证:
mysql -uroot
mysql> use mysql
mysql> update user set authentication_string=password('HEpan693640.') where user='root';
mysql> flush privileges;
mysql> quit
上面修改的密码相当于在mysql安装的时候的初始化的密码变成了我们修改的密码。所以下次正常登录系统后mysql数据库还是要你把原始密码修改掉。
vim /etc/my.cnf ,注释或删掉 skip-grant-tables
service mysqld restart
再次以账户密码登录:
mysql -uroot -pHEpan693640.
此时系统会提示你修改密码,并且必须使用ALTER USER的方式修改,另外,无法执行其他任何语句:
mysql> alter user 'root'@'localhost' identified by 'root';
此时系统报错:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
原因:是密码策略过于严格。
将密码设置复杂些,符合密码策略: mysql> alter user 'root'@'localhost' identified by 'Root1@345';
然后,可以执行其他语句了。
我还想把密码修改得简洁些,于是需要修改密码策略:
修改密码策略:
mysql> set global validate_password_length=1;
mysql> set global validate_password_mixed_case_count=0;
mysql> set global validate_password_number_count=0;
mysql> set global validate_password_policy='LOW';
mysql> set global validate_password_special_char_count=0;
修改过后密码策略如下:
然后再次执行alter user,或其他修改密码的方法 即可。
二、其他时候修改密码的方法:
1、mysql> alter user 'root'@'localhost' identified by 'root';
2、mysql> set password=password('root');
3、[root@node03 ~]# /usr/bin/mysql_secure_installation,然后根据提示往下走。
4、vim /etc/my.cnf 在末尾添加 validate-password=OFF,也可以跳过密码验证。