MySQL 5.7是當今最受歡迎的關系型數據庫管理系統之一。而在使用MySQL 5.7時,我們需要特別注意密碼過期問題。
MySQL 5.7中默認開啟了PASSWORD過期(默認值為360天),這意味著超過了密碼過期時間的用戶會被提示修改密碼。在此之前,用戶的密碼將被標記為“EXPRIED”。
mysql>SELECT User,Password,authentication_string,plugin FROM mysql.user; +------------------+-------------------------------------------+-------------------------------------------+-------------+ | User | Password | authentication_string | plugin | +------------------+-------------------------------------------+-------------------------------------------+-------------+ | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | mysql_native_password | | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | | mysql.infoschema | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | | test | *2D30DBDD811B61FBE04CF611FB9E8F14783CDE68 | *2D30DBDD811B61FBE04CF611FB9E8F14783CDE68 | mysql_native_password | +------------------+-------------------------------------------+-------------------------------------------+-------------+ 5 rows in set (0.00 sec)
如果我們想要更改密碼過期時間,我們可以使用以下命令(將密碼過期時間設置為30天):
mysql>SET GLOBAL default_password_lifetime=30;
我們還可以使用ALTER USER語句來更改特定用戶的過期時間:
mysql>ALTER USER 'test'@'localhost' PASSWORD EXPIRE INTERVAL 30 DAY;
我們也可以禁用密碼過期功能:
mysql>SET GLOBAL default_password_lifetime=0;
但這種做法并不推薦,因為它會使您的服務器面臨更高的安全風險。
總的來說,密碼過期功能是MySQL 5.7中的一個非常有用的安全特性,但我們需要注意及時修改過期的密碼,以確保服務器安全。