圖文範例解析MySQL的使用者管理

2022-06-07 14:00:36
本篇文章給大家帶來了關於的相關知識,其中主要介紹了關於使用者管理的相關內容,包括了新建使用者、檢視使用者資訊、重新命名使用者、刪除使用者等等內容,下面一起來看一下,希望對大家有幫助。

推薦學習:

一、使用者管理

1.1 新建使用者

create user '使用者名稱'@'主機名' [identified by [password] '密碼'];
  • 使用者名稱就不用解釋了,就是我們登入時使用的賬號
  • 主機名指定我們建立的使用者可以在哪些主機上登陸,可使用IP地址、網段、主機名的形式,本地使用者可用localhost,允許任意主機登入可用萬用字元%來表示。
  • identified by譯為通過…來進行驗證,也就是密碼,密碼分為明文和密文,明文直接就是identified by 加上’密碼’即可,密文則是identified by password ‘密碼’,多了password關鍵字。
  • 若使用明文密碼,直接輸入’密碼’,插入到資料庫時由Mysql自動加密;若使用加密密碼,需要先使用SELECT PASSWORD(‘密碼’); 獲取密文,再在語句中新增 PASSWORD ‘密文’;若省略「IDENTIFIED BY」部分,則使用者的密碼將為空。
  1. 明文建立使用者
    在這裡插入圖片描述
    在這裡插入圖片描述

  2. 密文建立使用者
    在這裡插入圖片描述

1.2 檢視使用者資訊

檢視mysql庫中的user表,強調一點,這個庫只有root使用者能檢視,普通使用者是沒有許可權查詢這個庫的。
在這裡插入圖片描述
如果我們想要讓某一普通使用者可以檢視這個mysql庫,需要使用grant進行授權。注意,授權工作也只能在root使用者執行。

在這裡插入圖片描述
遠端登陸,即從其他主機遠端登入本機資料庫
在這裡插入圖片描述
檢視mysql.user表
在這裡插入圖片描述
在這裡插入圖片描述

1.3 重新命名使用者

rename user '舊使用者名稱'@'舊主機名' to '新使用者名稱'@'新主機名';

在這裡插入圖片描述
在這裡插入圖片描述

1.4 刪除使用者

drop user '使用者名稱'@'主機名';

在這裡插入圖片描述

1.5 修改使用者密碼

1.修改當前的使用者密碼

set password = password('新密碼')

在這裡插入圖片描述

2.修改其他使用者密碼

set password for '使用者名稱'@'主機名' = password('新密碼');普通使用者是無法修改其他使用者密碼的

在這裡插入圖片描述
在這裡插入圖片描述

1.6 忘記密碼怎麼辦

vim /etc/my.cnf   #修改mysql組態檔
[mysqld]
......
skip-grant-tables   #在mysqld模組下新增該設定
wq儲存退出
systemctl restart mysqld   #重新啟動mysql服務
mysql   #mysql直接登入
update mysql.user set authentication_string = password('新密碼') where User='root';
flush privileges;
退出重新登陸
切記:修改完後一定將組態檔的skip-grant-tables註釋或者刪掉,不然再執行一次重新啟動資料庫,還是可以無密碼登入,很危險

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

二、授權

2.1 使用者授權

grant,授權,通常用於root使用者授予普通使用者一些執行許可權,比如select,insert,update。

grant 許可權列表(select|insert|delete|drop|update等等)on 資料庫名.表名(*表示所有) to '使用者名稱'@'主機名' [identified by '密碼'];
若授權的使用者不存在,mysql會先建立一個使用者,然後進行授權操作

在這裡插入圖片描述

2.2 檢視所授予的許可權

show grants for '使用者名稱'@'主機名';   #檢視指定使用者的許可權show grants;   #檢視當前使用者許可權

在這裡插入圖片描述

2.3 復原許可權

revoke 許可權列表 on 庫名.表名 from '使用者名稱'@'主機名';   #從使用者XXX復原XX庫.XX表的XX操作的許可權

在這裡插入圖片描述

推薦學習:

以上就是圖文範例解析MySQL的使用者管理的詳細內容,更多請關注TW511.COM其它相關文章!