當使用MySQL時,用戶賬戶和密碼是必不可少的。那么,這些密碼是如何存儲的呢?MySQL的密碼儲存在一個叫做“mysql.user”表中。在這個表中,密碼是以加密的方式儲存的,這樣可以保護用戶數據的安全性,即使數據庫被攻擊了也能夠保證用戶密碼的安全。
mysql>SELECT user, password FROM mysql.user;
這個表中的密碼是經過hash加密算法處理過的。這個算法可以將輸入的字符串轉換成一種特定的、固定長度的輸出。在這個過程中,輸入字符串或者密碼將被轉化成一長串亂碼。哈希函數的設計是防止將加密后的密碼還原成明文,這也是為什么能夠保證密碼在mysql.user表中的安全性的原因。
當在MySQL中創建新用戶時,我們可以使用如下命令語句:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
在這里,“newuser”代表我們要創建的新用戶,“localhost”表示只能從這臺計算機上使用此用戶,“password”是我們要設置的用戶密碼。在這個過程中,MySQL會自動的加密這個密碼并將其存放到mysql.user表中。通過這種方式,我們能夠保證用戶的密碼是安全的,且不能被輕易地破解。
上一篇mysql密碼函數