1. 程式人生 > 資料庫 >mysql新增使用者並授權

mysql新增使用者並授權

mysql 新增使用者並設定許可權

  • 建立使用者

    CREATE USER 'username'@'host' IDENTIFIED BY 'password';
    
    • 說明

      username – 你將建立的使用者名稱
      
      host – 指定該使用者在哪個主機上可以登陸,如果是本地使用者可用localhost,  如 果想讓該使用者可以從任意遠端主機登陸,可以使用萬用字元%
      
      password –  該使用者的登陸密碼,密碼可以為空,如果為空則該使用者可以不需要密碼登 陸伺服器
      
    • 例子

      CREATE USER 'javacui'@'localhost' IDENTIFIED BY '123456'; 
       
      CREATE USER 'javacui'@'172.20.0.0/255.255.0.0' IDENDIFIED BY '123456'; 
       
      CREATE USER 'javacui'@'%' IDENTIFIED BY '123456'; 
       
      CREATE USER 'javacui'@'%' IDENTIFIED BY ''; 
       
      CREATE USER 'javacui'@'%';
      
  • 授權

    GRANT privileges ON databasename.tablename TO 'username'@'host';
    
    • 說明

      privileges – 使用者的操作許可權,如SELECT , INSERT , UPDATE  等(詳細列表見該文最後面).如果要授予所 的許可權則使用ALL
      
      databasename –  資料庫名
      
      tablename-表名,如果要授予該使用者對所有資料庫和表的相應操作許可權則可用* 表示, 如*.*
      
    • 例子

      GRANT SELECT, INSERT ON test.user TO 'javacui'@'%'; 
       
      GRANT ALL ON *.* TO 'javacui'@'%';
      
  • 設定與更改使用者密碼

    SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
    

    若是當前使用者:

    SET PASSWORD = PASSWORD("newpassword");
    
  • 撤銷許可權

    REVOKE privilege ON databasename.tablename FROM 'username'@'host';
    

    例子:

    REVOKE SELECT ON *.* FROM 'javacui'@'%';
    

    假如你在給使用者’javacui’@'%’授權的時候是這樣的(或類似 的):GRANT SELECT ON test.user TO ‘javacui’@'%’, 則在使用 REVOKE SELECT ON .

    FROM ‘javacui’@'%’;命令並不能撤銷該使用者對test資料庫中user表的SELECT 操作注意:

    相反,如果授權使用的是GRANT SELECT ON . TO ‘javacui’@'%’;則 REVOKE SELECT ON test.user FROM ‘javacui’@'%’;命令也不能撤銷該使用者對test資料庫中user表的 Select 許可權

    具體資訊可以用命令SHOW GRANTS FOR ‘javacui’@'%’; 檢視

  • 刪除使用者

    DROP USER ‘username’@'host’;
    
  • 重新整理資料庫

    flush privileges;