標籤:create 直接 http ref 可以登入 use 重新命名 情況下 地址
本文內容:
- 使用者的介紹
- 查看使用者
- 建立使用者帳戶
- 修改賬戶
- 刪除帳戶
- 關於匿名使用者
首發日期:2018-04-19
使用者的介紹:
- mysql的用戶端串連是以使用者名稱來登入服務端。
- 服務端可以對使用者的許可權來變更,所以每個使用者對資料庫或對資料表的許可權都是不一樣的。
- 一般來說不應該使用root使用者登入,因為root使用者擁有最高的許可權,可以進行刪除資料庫等“危險”操作。為了安全,應該使用其他使用者登入,並且給他分配合適的許可權。
- 並且使用者應該是有密碼的,使用匿名使用者(沒有密碼)是非常危險的,如果這個匿名使用者又是開放遠程登入的話那別人只要檢測到你的連接埠是開放的就可以登入你的mysql了。
查看使用者:
- MySQL使用者帳號和資訊儲存在名為 mysql 的MySQL資料庫中。
- mysql 資料庫有一個名為 user 的表,它包含所有使用者帳號。 user表有一個名為 user 的列,它儲存使用者登入名稱。
-
- 使用select * from user\G來擷取完整的表資料時
-
- 其中尾碼是priv是許可權的意思,N代表沒有。
- host是代表允許登入的主機,%為允許本地和非本地主機登入
- user是使用者名稱
- authentication string是密碼的散列值。
建立使用者帳戶:
- 方式1:create user 使用者名稱@可登入地址 identified by ‘密碼‘;
- 沒有可登入地址代表所有地址都能登入
- 如果只允許本地登入,應該設定成localhost
- 方式2:grant 許可權 on 資料庫.資料表 to 使用者名稱@可登入地址 identified by ‘密碼‘;
- 方式3:可以使用Insert直接往user表中插入資料,但不建議使用。
修改賬戶:
- 重新命名使用者:rename user 原使用者名稱@可登入地址 to 新使用者名稱@可登入地址; 【原使用者名稱的可登入地址是必須的,而新使用者名稱的可登入地址是可選的,但不填的話就會預設成%即允許遠程登入】
- 更改密碼:set password for ‘使用者名稱‘@可登入地址 = password(‘密碼‘);【在不指定使用者名稱的情況下,為修改目前使用者的密碼】【可登入地址是可選的,必須是原來的可登入地址】
-
- 修改賬戶許可權將在另外一篇博文中講述。超連結:mysql之使用者權限管理
刪除帳戶:
補充:
- 在mysql5.0之前drop user命令只會刪除使用者,而不刪除許可權,在5.0之前需要先用revoke刪除許可權。
關於匿名使用者:
- 在舊版本預設情況都會有一個匿名使用者,這使得你不需要使用使用者及密碼就能登入mysql
- 如何建立匿名使用者
- 一般情況下不應該建立匿名使用者,即使是因為學習方便而建立也應該設定成本地的。
mysql之使用者管理