這篇文章主要介紹了mysql5.7創建用戶授權刪除用戶撤銷授權的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
一, 建立使用者:
## 指令:CREATE USER 'username'@'host' IDENTIFIED BY 'password';
CREATE USER 'dog'@'localhost' IDENTIFIED BY 'password'; CREATE USER 'pig'@'192.168.1.100' IDENDIFIED BY 'password'; CREATE USER 'pig'@'192.168.1.%' IDENDIFIED BY 'password'; CREATE USER 'pig'@'%' IDENTIFIED BY 'password'; CREATE USER 'pig'@'%' IDENTIFIED BY ''; CREATE USER 'pig'@'%';
說明:username - 你將建立的使用者名稱, host - 指定該使用者在哪個主機上可以登陸,如果是本地用戶可用localhost, 如果想讓該用戶可以從任意遠端主機登陸,可以使用
通配符%. password - 該用戶的登陸密碼,密碼可以為空,如果為空則該使用者可以不需要密碼登陸伺服器. 範例:GRANT privileges ON databasename.tablename TO 'username'@'host'
二,授權:
# 指令:GRANT SELECT, INSERT ON test.user TO 'pig'@'%';
GRANT ALL ON *.* TO 'pig'@'%';
# 等(詳細清單請見該文最後面).如果要授予所給予的權限使用
ALL.;databasename - 資料庫名稱,tablename-表名,如果要授予該使用者對所有資料庫和表的相應操作權限則可用*表示, 如*.*.範例:
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
注意:使用上述指令授權的使用者不能給予其它使用者授權,若想讓使用者可以授權,使用下列指令:
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');如果是当前登陆用户用 SET PASSWORD = PASSWORD("newpassword");
#
SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456");
MySQL資料庫
(即在名為mysql的資料庫中)。 權限列Contextselect Select_priv 表insert Insert_priv 表update Update_priv 表格delete Delete_priv 表index Index_priv 表alter Alter_priv 表create Create_priv 資料庫、表格或索引drop Drop_priv 資料庫或表格grant Grant_priv 資料庫或表格references References_priv 資料庫或表格reload Reload_priv 伺服器管理process Process_priv 伺服器管理file#process Process_priv 伺服器管理
file#file File_priv 在伺服器上的檔案存取
三.設定與變更使用者密碼 指令:REVOKE privilege ON databasename.tablename FROM 'username'@'host';
REVOKE SELECT ON *.* FROM 'pig'@'%';
四.撤銷使用者權限
指令:
DROP USER 'username'@'host';
例:
mysql> show grants for 'test01'@'localhost'; +--------------------------------------------------------------------------------------------------------------------------------------------+ | Grants for test01@localhost | +--------------------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'test01'@'localhost' | | GRANT INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `test001`.* TO 'test01'@'localhost' | +--------------------------------------------------------------------------------------------------------------------------------------------+ 2 rows in set (0.01 sec) mysql> show grants for 'test02'@'localhost'; +-------------------------------------------------------------+ | Grants for test02@localhost | +-------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'test02'@'localhost' | | GRANT ALL PRIVILEGES ON `test001`.* TO 'test02'@'localhost' | +-------------------------------------------------------------+ 2 rows in set (0.00 sec)
GRANT SELECT ON@'%'授權的時候是這樣的(或類似的):GRANT SELECT ON@'%'授權的時候是這樣的(或類似的):GRANT SELECT ON@'%'授權的時候是這樣的(或類似的):GRANT SELECT ON# test.user TO 'pig'@'%', 則在使用
REVOKE SELECT ON *.* FROM 'pig'@'%';指令並不能撤銷該使用者對test資料庫中user表的SELECT 操作.相反,如果授權使用的是
GRANT SELECT ON *.* TO 'pig'@'%';則REVOKE SELECT ON test.user FROM 'pig'@'% ';指令也無法撤銷該使用者對test資料庫中user表的Select 權限. 特定資訊可用指令
SHOW GRANTS FOR 'pig'@'%'; ###檢視.############五.刪除使用者############ 指令:###rrreee##########六檢視使用者的授權 # ########rrreee以上是詳細介紹mysql5.7建立使用者授權刪除使用者撤銷授權的範例程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!