萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> MySQL中用戶授權/刪除授權的方法

MySQL中用戶授權/刪除授權的方法

本文章來給各位同學介紹在mysql中利用GRANT來給用戶授權具體方法,同時也介紹了撤權並刪除用戶的命令,希望些方法對大家所有幫助。

用戶授權方法

你可以通過發出GRANT語句增加新用戶: 

 代碼如下 復制代碼

 shell> mysql --user=root mysql

  mysql> GRANT ALL PRIVILEGES ON *.* TO monty@localhost

  IDENTIFIED BY 'something' WITH GRANT OPTION;

  mysql> GRANT ALL PRIVILEGES ON *.* TO monty@"%"

  IDENTIFIED BY 'something' WITH GRANT OPTION;

  mysql> GRANT RELOAD,PROCESS ON *.* TO admin@localhost;

  mysql> GRANT USAGE ON *.* TO dummy@localhost;

這些GRANT語句安裝3個新用戶

授權:

命令:

 代碼如下 復制代碼 GRANT privileges ON databasename.tablename TO 'username'@'host'

說明: privileges - 用戶的操作權限,如SELECT , INSERT , UPDATE 等(詳細列表見該文最後面).如果要授予所的權限則使用ALL.;databasename - 數據庫名,tablename-表名,如果要授予該用戶對所有數據庫和表的相應操作權限則可用*表示, 如*.*.

例子:

 代碼如下 復制代碼 GRANT SELECT, INSERT ON test.user TO 'pig'@'%';
GRANT ALL ON *.* TO 'pig'@'%';

注意:用以上命令授權的用戶不能給其它用戶授權,如果想讓該用戶可以授權,用以下命令:

 代碼如下 復制代碼 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");


撤權並刪除用戶

要取消一個用戶的權限,使用REVOKE語句。REVOKE的語法非常類似於GRANT語句,除了TO用FROM取代並且沒有INDETIFED BY和WITH GRANT OPTION子句:

 

 代碼如下 復制代碼 REVOKE privileges (columns) ON what FROM user


user部分必須匹配原來 GRANT語句的你想撤權的用戶的user部分。privileges部分不需匹配,你可以用GRANT語句授權,然後用REVOKE語句只撤銷部分權限。

REVOKE語句只刪除權限,而不刪除用戶。即使你撤銷了所有權限,在user表中的用戶記錄依然保留,這意味著用戶仍然可以連接服務器。要完全刪除一個用戶,你必須用一條Delete語句明確從user表中刪除用戶記錄:

 代碼如下 復制代碼

%mysql -u root mysqlmysql>Delete FROM user ->Where User="user_name" and Host="host_name";mysql>FLUSH PRIVILEGES;

Delete語句刪除用戶記錄,而FLUSH語句告訴服務器重載授權表。(當你使用GRANT和REVOKE語句時,表自動重載,而你直接修改授權表時不是。)

 

copyright © 萬盛學電腦網 all rights reserved