mysql 5.7重设简易密码
mysql由5.6版本升级至5.7版本,结果发现,mysql 5.7里设置简易密码时,会直接报错。而且MySQL5.7中mysql.user 表中的密码字段由之前的 password 改为 authentication_string。

查阅资料原来是validate_password这个插件导致的。
通过SHOW VARIABLES LIKE 'validate_password%'就可以查看validate_password是否安装及其配置情况。

validate_password_dictionary_file > 插件用于验证密码强度的字典文件路径。
validate_password_length > 密码最小长度。
validate_password_mixed_case_count > 密码至少要包含的小写字母个数和大写字母个数。
validate_password_number_count > 密码至少要包含的数字个数。
validate_password_policy > 密码强度检查等级,0/LOW、1/MEDIUM、2/STRONG。
validate_password_special_char_count > 密码至少要包含的特殊字符数。
其中关于validate_password_policy-密码强度检查等级:
0/LOW > 只检查长度。
1/MEDIUM > 检查长度、数字、大小写、特殊字符。
2/STRONG > 检查长度、数字、大小写、特殊字符字典文件。
默认情况下,只有通过MySQL Yum repository, MySQL SLES Repository, or RPM packages provided by Oracle才会自动加载validate_password,否则需要使用如下sql命令安装:
INSTALL PLUGIN validate_password SONAME 'validate_password.so';
卸载可以使用:
uninstall plugin validate_password;
对于已经安装了validate_password插件的,只需要直接在msyql执行卸载插件命令,就可以按照自己的需求设置简易密码。

在my.cnf中添加skip-grant-tables ,可以跳过MySQL的授权验证,重启mysql,进行密码的修改。
修改MySQL密码的4种方式:
法1:update user set authentication_string=password('123abc') where user='root';
法2:set password=password('newpassword');
法3:alter user root@'localhost' identified by 'oracle';
法4:在shell下使用MySQL工具:mysqladmin -uroot -poldpassword pasword "newpassword"