大家在安裝 mysql 時通常會生成一個超級用戶 root,很多人之后就一直沿用這一個用戶,雖然這會很方便,但超級用戶權限太大,在所有地方使用它通常是一個安全隱患。
這一點跟操作系統的用戶管理也是類似的,多數人貪圖方便都直接使用 administrator 或 root 用戶,其實是一種不建議的做法。
那么,要如何在 mysql 中創建 root 之外的用戶並賦予相應權限呢?
我們直接來看一個示例:
CREATE USER ‘golden‘@'localhost' IDENTIFIED BY ‘gd2017‘; GRANT ALL ON myapp.* TO ‘golden‘@'localhost'; FLUSH PRIVILEGES;
對上述語句,這里簡單解析一下:
1、create user 語句用於創建用戶(及密碼)。
其中 golden 是用戶名,gd2017 是密碼。localhost 則表明是本地用戶。
2、grant 語句用於對用戶進行賦權。
其中,all 表示所有的權限,包括對數據的增刪改查及更改數據庫;myapp 為具體某個數據庫名,myapp.* 表示該數據庫下所有的表(以及視圖等);golden 則為剛才所建立的用戶名。
3、flush 語句使更改生效。
拓展:
通常,以上設置能滿足一般的需求了,更細化的配置,可以參考 mysql 官方在線文檔(5.7 版):