1. 程式人生 > 資料庫 >mysql使用者管理操作例項分析

mysql使用者管理操作例項分析

本文例項講述了mysql使用者管理操作。分享給大家供大家參考,具體如下:

本文內容:

  • 使用者的介紹
  • 檢視使用者
  • 建立使用者帳戶
  • 修改賬戶
  • 刪除帳戶
  • 關於匿名使用者

首發日期:2018-04-19


使用者的介紹:

  • mysql的客戶端連線是以使用者名稱來登入服務端。
  • 服務端可以對使用者的許可權來進行更改,所以每個使用者對資料庫或對資料表的許可權都是不一樣的。
  • 一般來說不應該使用root使用者登入,因為root使用者擁有最高的許可權,可以進行刪除資料庫等“危險”操作。為了安全,應該使用其他使用者登入,並且給他分配合適的許可權。
  • 並且使用者應該是有密碼的,使用匿名使用者(沒有密碼)是非常危險的,如果這個匿名使用者又是開放遠端登入的話那別人只要檢測到你的埠是開放的就可以登入你的mysql了。

檢視使用者:

  • MySQL使用者賬號和資訊儲存在名為 mysql 的MySQL資料庫中。
  • mysql 資料庫有一個名為 user 的表,它包含所有使用者賬號。 user表有一個名為 user 的列,它儲存使用者登入名。
    • image
  • 使用select * from user\G來獲取完整的表資料時
    • 其中字尾是priv是許可權的意思,N代表沒有。image
    • host是代表允許登入的主機,%為允許本地和非本地主機登入image
    • user是使用者名稱image
    • authentication string是密碼的雜湊值。image

建立使用者帳戶:

  • 方式1:create user 使用者名稱@可登入地址 identified by '密碼';
    • 沒有可登入地址代表所有地址都能登入image
    • 如果只允許本地登入,應該設定成localhostimage
  • 方式2:grant 許可權 on 資料庫.資料表 to 使用者名稱@可登入地址 identified by '密碼';
    • image
  • 方式3:可以使用Insert直接往user表中插入資料,但不建議使用。

修改賬戶:

  • 重新命名使用者:rename user 原使用者名稱@可登入地址 to 新使用者名稱@可登入地址; 【原使用者名稱的可登入地址是必須的,而新使用者名稱的可登入地址是可選的,但不填的話就會預設成%即允許遠端登入】
  • 更改密碼:set password for '使用者名稱'@可登入地址 = password('密碼');【在不指定使用者名稱的情況下,為修改當前使用者的密碼】【可登入地址是可選的,必須是原來的可登入地址】
    • imageimage
  • 修改賬戶許可權將在另外一篇博文中講述。超連結:mysql之使用者許可權管理

刪除帳戶:

  • drop user 使用者名稱;

補充:

  • 在mysql5.0之前drop user命令只會刪除使用者,而不刪除許可權,在5.0之前需要先用revoke刪除許可權。

關於匿名使用者:

  • 在舊版本預設情況都會有一個匿名使用者,這使得你不需要使用使用者及密碼就能登入mysql
  • 如何建立匿名使用者image
  • 一般情況下不應該建立匿名使用者,即使是因為學習方便而建立也應該設定成本地的。

更多關於MySQL相關內容感興趣的讀者可檢視本站專題:《MySQL查詢技巧大全》、《MySQL事務操作技巧彙總》、《MySQL儲存過程技巧大全》、《MySQL資料庫鎖相關技巧彙總》及《MySQL常用函式大彙總》

希望本文所述對大家MySQL資料庫計有所幫助。