美文网首页
Mac下MySQL 8.0+忘记密码的重置操作

Mac下MySQL 8.0+忘记密码的重置操作

作者: kanelee | 来源:发表于2020-04-13 19:11 被阅读0次

    1.关闭数据库服务,终端下敲命令:

      mysql.server stop
    

    2. 跳过权限认证

    ~ sudo  /usr/local/Cellar/mysql/8.0.19/bin/
    ~ mysqld_safe--skip-grant-tables & mysql -u root
    

    在上述指令运行后,新开一个终端,同时保持原来那个终端也开着,在新的终端输入指令如下:

    //  执行mysql指令
    cd  /usr/local/Cellar/mysql/8.0.19/bin
    // 进入名为<mysql>的数据库
    use mysql
    // 刷新权限
    flushprivileges;
    // 8.0+以下的版本,修改密码
    set password for 'root'@'localhost' = password('新的密码');
    // 8.0+版本修改密码(注意密码安全等级)
    alteruser'root'@'localhost'identifiedby'新密码';
    // 退出mysqlexit
    
    image

    提示修改成功,至此,数据库密码修改完毕。
    修改密码时,密码策略问题异常信息

    ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    

    解决办法
    1、查看 mysql 初始的密码策略,
    输入语句 “ SHOW VARIABLES LIKE 'validate_password%'; ” 进行查看,如下图:

    mysql> SHOW VARIABLES LIKE 'validate_password%';
    +--------------------------------------+--------+
    | Variable_name                        | Value  |
    +--------------------------------------+--------+
    | validate_password.check_user_name    | ON     |
    | validate_password.dictionary_file    |        |
    | validate_password.length             | 8      |
    | validate_password.mixed_case_count   | 1      |
    | validate_password.number_count       | 1      |
    | validate_password.policy             | MEDIUM |
    | validate_password.special_char_count | 1      |
    +--------------------------------------+--------+
    7 rows in set (0.04 sec)
    

    2、 首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可,输入设值语句 “ set global validate_password_policy=LOW; ” 进行设值

    mysql> set global validate_password.policy=LOW ;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> SHOW VARIABLES LIKE 'validate_password%';
    +--------------------------------------+-------+
    | Variable_name                        | Value |
    +--------------------------------------+-------+
    | validate_password.check_user_name    | ON    |
    | validate_password.dictionary_file    |       |
    | validate_password.length             | 8     |
    | validate_password.mixed_case_count   | 1     |
    | validate_password.number_count       | 1     |
    | validate_password.policy             | LOW   |
    | validate_password.special_char_count | 1     |
    +--------------------------------------+-------+
    7 rows in set (0.00 sec)
    

    3、当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 6 位的密码,设置 validate_password_length 的全局参数为 6 即可。
    :在默认密码的长度最小值为 4 ,由 大/小写字母各一个 + 阿拉伯数字一个 + 特殊字符一个,只要设置密码的长度小于 3 ,都将自动设值为 4 ,
    如下图:

    mysql> set global validate_password.length=3;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> set global validate_password.check_user_name=OFF;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> SHOW VARIABLES LIKE 'validate_password%';
    +--------------------------------------+-------+
    | Variable_name                        | Value |
    +--------------------------------------+-------+
    | validate_password.check_user_name    | OFF   |
    | validate_password.dictionary_file    |       |
    | validate_password.length             | 4     |
    | validate_password.mixed_case_count   | 1     |
    | validate_password.number_count       | 1     |
    | validate_password.policy             | LOW   |
    | validate_password.special_char_count | 1     |
    +--------------------------------------+-------+
    7 rows in set (0.00 sec)
    

    关于 mysql 密码策略相关参数

    1. validate_password_length 固定密码的总长度;
    2. validate_password_dictionary_file 指定密码验证的文件路径;
    3. validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数;
    4. validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数;
    5. validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;   关于 validate_password_policy 的取值
        - 0 /LOW:只验证长度;
        - 1 /MEDIUM:验证长度、数字、大小写、特殊字符;
        - 2 /STRONG:验证长度、数字、大小写、特殊字符、字典文件;
    6. validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;

    相关文章

      网友评论

          本文标题:Mac下MySQL 8.0+忘记密码的重置操作

          本文链接:https://www.haomeiwen.com/subject/bownmhtx.html