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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章