linux下 修改mysql5.7数据库密码

 相信很多小伙伴都有忘记密码和想修改密码的时候  本人就这样 搞了个私服游戏 数据库密码太简单容易被入侵 所以想修改一下密码  却发现问题多多  列举一下简单的问题 

一:密码策略问题异常信息:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

二:update 修改密码成功 新密码登录失败 老密码登录依旧有效

三:修改密码password提示未定义字段 

那么下面就一步一步简单的说一下吧

vim /etc/my.cnf
在mysqld下加上:skip-grant-tables
启动mysql: service mysqld start
登录mysql: mysql
修改密码(重点):
mysql5.7不建议用update去修改密码:
update mysql.user  set password=password('root') where user='root'
这样修改的话,会报错,mysql5.7密码的字段不叫password,应该用命令:
update mysql.user  set authentication_string=password('123456') where user='root'
这样修改也能成功,但是后面操作数据库的话会报错。
此处两个问题:
第一:密码应该为:小写字母,大写字母,符号,数字,字符数>8
第二:修改密码应该用命令:ALTER USER 'root'@'localhost'IDENTIFIED BY 'aaBBcc11%22&33'
如果设置允许远程登录,可以用:ALTER USER 'root'@'%' IDENTIFIED BY 'aaBBcc11%22&33'
修改好之后flush privileges刷新一下
然后将my.cnf里面的配置改回来,重启mysql:service mysqld restart

如果修改密码出现策略问题 按下面操作 

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'; ” 可以看到修改成功,表示密码策略修改成功了!!! 

 

改完策略组在去修改密码就好了   修改完记得立即生效 然后重启就ok了  不要用update去改密码 用alter比较好  

告辞

发布了19 篇原创文章 · 获赞 17 · 访问量 3万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章