mysql 用戶管理

mysql.user表是用來記錄用戶信息的。

=>字段host表示在這個ip範圍可以用該用戶來訪問mysql。localhost表示只有本地可以登錄,%表示在所有主機可以登錄,42.121.6.%表示ip段在42.121.6的主機可以登錄。
=>user、password表示登錄的用戶名和密碼。

顯示所有用戶

    select distinct user from mysql.user;

查看某個用戶的權限

    show grants for ‘user2′;
    show grants ;//查看當前用戶的權限

刷新權限

FLUSH PRIVILEGES;

注意:在創建完用戶後,又刷新下權限才能用新建的用戶來登錄

創建用戶

  命令:  CREATE USER ’username’@'host’ IDENTIFIED BY ’password’;

  說明:username - 你將創建的用戶名, host - 指定該用戶在哪個主機上可以登陸,如果是本地用戶可用localhost, 如果想讓該用戶可以從任意遠程主機登陸,可以使用通配符%. password - 該用戶的登陸密碼,密碼可以爲空,如果爲空則該用戶可以不需要密碼登陸服務器,應該用PASSWORD()函數來加密密碼.
  例:用root用戶創建用戶user1,密碼爲123,本地可訪問

      $ mysql -u root -p  #以root用戶登錄

      Enter password:  #輸入root用戶密碼

      mysql>create user ‘user1′@’localhost’ identified byPASSWORD(‘123’);  #進入mysql後創建用戶

      mysql>flush privileges;  #刷新權限

      mysql>exit;#exit退出mysql

      $ mysql - u user1 -p  #以剛創建的用戶user1登錄
      Enter password:  #輸入user1用戶密碼

      mysql>   #此時以user1用戶登錄成功      

用戶授權

  命令:grant  privileges on databasename.tablename to ‘user’@'%’ <identified by 'password'>
  說明: privileges - 用戶的操作權限,如SELECT , INSERT , UPDATE 等.如果要授予所的權限則使用all;databasename - 數據庫名,tablename-表名,如果要授予該用戶對所有數據庫和表的相應操作權限則可用*表示, 如*.*.
  例1.賦用戶user2/user2 予select和insert權限

  mysql> grant select,insert on test.tab1 to ‘user2′ <identified by ‘user2′>;

  例2.授予所有權限
  mysql> grant all on test.tab1 to ‘user2 ‘<identified by ‘user2'>;

  例3.授予某個數據庫中表的所有權限  (使用* 匹配  privileges可寫可不寫)
  mysql> grant all(privileges) on test.*to ‘user2 ‘ identified by ‘user2′;
權限傳遞:
    注意:用以上命令授權的用戶不能給其它用戶授權,如果想讓該用戶可以授權,用以下命令:

撤銷用戶權限

  命令: REVOKE privilege ON databasename.tablename FROM ’username’@'host’;

  說明: privilege, databasename, tablename - 同授權部分.

  例子: REVOKE SELECT ON *.* FROM ’pig’@'%’;

注意: 假如你在給用戶’pig’@'%’授權的時候是這樣的(或類似的):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 權限. (表要對應

設置mysql密碼

  命令:SET PASSWORD FOR ‘username’@'host’ = PASSWORD(‘newpassword’);
       如果是當前登陸用戶用SET PASSWORD = PASSWORD(“newpassword”);
    例1、更改自己的密碼
        set password=password(’123′);
    例2、更改其他用戶密碼
        set password for user2 =password(’234′)

刪除用戶

   命令:drop user ‘username’@'%’    
   例如: drop user ‘user2′
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章