grep ‘temporary password’ /var/log/mysqld.log
原因:新安装时,mysql 会为 root 生成一个默认密码,并且存储在 log 文件里。通过 grep ‘temporary password’ /var/log/mysqld.log 可以看到这个密码
如果提示该文件不存在,请修改 f 文件 在 mysqld 下加入
skip-grant-tables
,重启 mysql 。无密码登陆,修改密码;以这个方式 修改密码命令为:
use mysql;
update user set password = Password('admin') where User = 'root';
如果提示不存在 password 字段的话,请尝试update user set authentication_string = Password('admin') where User = 'root'
或 检查 user 表字段;flush privileges;退出 mysql进入 f 去掉skip-grant-tables
并重启
修改原密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newPassWord');
注意 mysql 5.6 版本会默认安装 validate_password 插件,此插件用于校验密码强度,如修改密码时提示:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements。则需要提升密码强度。
validate_password 设置
–validate-password=ON/OFF/FORCE/FORCE_PLUS_PERMANENT:决定是否使用该插件(及强制/永久强制使用)。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:检查长度、数字、大小写、特殊字符字典文件。插件的安装启用:
插件对应的库对象文件需在配置选项 plugin_dir 指定的目录中。
可使用 –plugin-load=validate_password.so 在 server 启动时载入插件或者将 plugin-load=validate_password.so 写入配置文件。也可以通过如下语句在server运行时载入插件(会注册进mysql.plugins表)mysql> INSTALL PLUGIN validate_password SONAME ‘validate_password.so’;为阻止该插件在运行时被删除可在配置文件中添加:
[mysqld]
plugin-load=validate_password.so
validate-password=FORCE_PLUS_PERMANENT在 mysql 配置文件中关闭 validate-password 功能
找到 mysql 配置文件地址
在 mysqld 下输入以下代码
validate-password=FORCE_PLUS_PERMANENT
或validate-password=OFF
重启 mysql 服务
参考1:安装MySQL5.6新建用户并创建密码时总是提示密码不符合要求