在某些特殊的情况下,可能要求服务器直接接受客户端发送的密码,这些密码是明文的,不进行哈希或加密。在这种情况下,可以使用 mysql_clear_password 插件。
mysql_clear_password 插件内置在MySQL客户端的库中。该插件只存在于客户端中,服务器端没有对应的插件。
由于明文发送密码可能会导致安全隐患,为了减少误用 mysql_clear_password 插件的可能,使用时要求客户端必须启用插件
如下:
1、找到 my.cnf 配置文件的位置。
2、修改 my.cnf。如果你是 root 用户,直接vim /etc/my.cnf 。如果你是普通用户 , sudo vim /etc/my.cnf。
进入vim编辑器编辑之后,找到 [mysqld] ,按键盘的 i 键进入编辑模式,在[mysqld]后面任意一行添加 skip-grant-tables 用来跳过密码验证的过程。按 ESC 退出编辑,键入 :wq ,回车即保存并退出。
3、重启 mysqld 服务。
4、无密进入MySQL。出现Entering password 无需理会,回车即可进入 MySQL 数据库。
5、修改root密码进入到 MySQL 数据库之后,我们就可以更新 "mysql"数据库中“user”表的 root 记录的密码了。
如何查看mysql 的用户名和密码?
如果在安装过程中没有设置用户名密码的话,你可以用root用户名与密码登录数据库:用户名:root, 密码为空。进入以后我们可以执行select * from MySQL.user;查询MySQL的用户信息,可以看到密码是加密的。
所以说,如果设置过密码但是忘记了,那不好意思了,是不能进行查看密码的,只能查看用户名,因为MySQL密码是动态md5加密,是不可逆向查询的。注意牢记MySQL安装的时候设置的密码,或者直接不设置密码。
这是 mysql 初始化时,使用临时密码,修改自定义密码时,由于自定义密码比较简单,就出现了不符合密码策略的问题。执行 SELECT PASSWORD ()
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
1、查看 mysql 初始的密码策略,
输入语句 “ SHOW VARIABLES LIKE ‘validate_password%’” 进行查看,
2、首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可,
输入设值语句 “ set global validate_password_policy=LOW” 进行设值,
3、当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 6 位的密码,设置 validate_password_length 的全局参数为 6 即可,
输入设值语句 “ set global validate_password_length=6” 进行设值,
4、现在可以为 mysql 设置简单密码了,只要满足六位的长度即可,
输入修改语句 “ ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123456’” 可以看到修改成功,表示密码策略修改成功了!!!
注:在默认密码的长度最小值为 4 ,由 大/小写字母各一个 + 阿拉伯数字一个 + 特殊字符一个,
只要设置密码的长度小于 3 ,都将自动设值为 4 ,
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 整个密码中至少要包含特殊字符的个数;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)