[mysql] centos 安装 mysql 后,提示密码错误

来源:互联网 发布:js 鼠标移到图片放大 编辑:程序博客网 时间:2024/05/16 05:46
  1. grep ‘temporary password’ /var/log/mysqld.log

    原因:新安装时,mysql 会为 root 生成一个默认密码,并且存储在 log 文件里。通过 grep ‘temporary password’ /var/log/mysqld.log 可以看到这个密码
    如果提示该文件不存在,请修改 my.cnf 文件 在 mysqld 下加入 skip-grant-tables ,重启 mysql 。无密码登陆,修改密码;
    以这个方式 修改密码命令为:

    1. use mysql;
    2. update user set password = Password('admin') where User = 'root';
    3. 如果提示不存在 password 字段的话,请尝试 update user set authentication_string = Password('admin') where User = 'root' 或 检查 user 表字段;
    4. flush privileges;
    5. 退出 mysql
    6. 进入 my.cnf 去掉 skip-grant-tables 并重启
  2. 修改原密码

    1. SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newPassWord');
    2. 注意 mysql 5.6 版本会默认安装 validate_password 插件,此插件用于校验密码强度,如修改密码时提示:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements。则需要提升密码强度。
  3. validate_password 设置

    1. –validate-password=ON/OFF/FORCE/FORCE_PLUS_PERMANENT:决定是否使用该插件(及强制/永久强制使用)。
    2. validate_password_dictionary_file:插件用于验证密码强度的字典文件路径。
    3. validate_password_length:密码最小长度。
    4. validate_password_mixed_case_count:密码至少要包含的小写字母个数和大写字母个数。
    5. validate_password_number_count:密码至少要包含的数字个数。
    6. validate_password_policy:密码强度检查等级,0/LOW、1/MEDIUM、2/STRONG。
    7. validate_password_special_char_count:密码至少要包含的特殊字符数。
    8. 其中关于validate_password_policy-密码强度检查等级:
      0/LOW:只检查长度。
      1/MEDIUM:检查长度、数字、大小写、特殊字符。
      2/STRONG:检查长度、数字、大小写、特殊字符字典文件。
    9. 插件的安装启用:
      插件对应的库对象文件需在配置选项 plugin_dir 指定的目录中。
      1. 可使用 –plugin-load=validate_password.so 在 server 启动时载入插件
      2. 或者将 plugin-load=validate_password.so 写入配置文件。
      3. 也可以通过如下语句在server运行时载入插件(会注册进mysql.plugins表)mysql> INSTALL PLUGIN validate_password SONAME ‘validate_password.so’;
    10. 为阻止该插件在运行时被删除可在配置文件中添加:
      [mysqld]
      plugin-load=validate_password.so
      validate-password=FORCE_PLUS_PERMANENT
    11. 在 mysql 配置文件中关闭 validate-password 功能
      找到 mysql 配置文件地址
      1. 在 mysqld 下输入以下代码
        validate-password=FORCE_PLUS_PERMANENTvalidate-password=OFF
      2. 重启 mysql 服务

参考1:安装MySQL5.6新建用户并创建密码时总是提示密码不符合要求