MySQL5.7 開始,增加了很多安全性的更新。老版本的用戶可能會有一些不習慣,這里介紹關于5.7版本的數(shù)據(jù)庫密碼問題。
5.7.6 以后的版本
5.7.6 以后的版本在啟動數(shù)據(jù)庫的時候,會生成密碼放到日志文件里,像這樣:
[root@centos-linux ~]# cat /var/log/mysqld.log | grep 'password'
2016-07-16T03:07:53.587995Z 1 [Note] A temporary password is generated for root@localhost: 2=s6NZk.t:fz
然后使用該密碼登陸數(shù)據(jù)庫,但是不能進行任何操作,提示需要先修改密碼。
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
這里修改密碼就會遇到驗證,簡單的密碼會提示不符合規(guī)則
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
因為5.7里引入了一個validate_password插件來檢驗密碼強度。
默認值分別如下:
mysql> show variables like 'vali%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| 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 |
+--------------------------------------+--------+
6 rows in set (0.01 sec)
意義如下:
validate_password_length
# 密碼的最小長度,默認為8。
validate_password_mixed_case_count
# 至少要包含小寫或大寫字母的個數(shù),默認為1。
validate_password_number_count
# 至少要包含的數(shù)字的個數(shù),默認為1。
validate_password_policy
# 強度等級,可設置為0、1、2。
【0/LOW】:只檢查長度。
【1/MEDIUM】:在0等級的基礎上多檢查數(shù)字、大小寫、特殊字符。
【2/STRONG】:在1等級的基礎上多檢查特殊字符字典文件,此處為1。
validate_password_special_char_count
# 至少要包含的特殊字符的個數(shù),默認為1。
所以初始設置密碼比如大于8位,包含數(shù)字,大小寫字母,特殊字符。
同時也可以修改上面這些配置減弱密碼強度驗證。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- mysql 8.0.16 winx64及Linux修改root用戶密碼 的方法
- MySql8.0以上版本正確修改ROOT密碼的方法
- Mysql5.6修改root密碼教程
- Mysql5.7修改root密碼教程
- mysql5.7及mysql 8.0版本修改root密碼的方法小結
- 安裝mysql8.0.11及修改root密碼、連接navicat for mysql的思路詳解
- MySQL修改root密碼的多種方法(推薦)
- Mysql 忘記root密碼和修改root密碼的解決方法(小結)
- MySQL 如何修改root用戶的密碼