Mysql使用者授權管理

來源:互聯網
上載者:User

標籤:grant

Mysql 涉及使用者權限的語句有GRANT,REVOKE

通過Mysql內建的help文檔可以查看相應的文法:

GRANT

GRANT priv_type,...... ON [obj_type] priv_level TO user_specification [WITH with_option ...]

 

priv_type對應的有:
ALL | ALTER | ALTER ROUTINE | CREATE | CREATE ROUTINE | CREATE TEMPORARY TABLES | CREATE USER | CREATE VIEW | DELETE | DROP | EXECUTE | FILE | INDEX |  INSERT | LOCK TABLES | PROCESS | REFERENCES | RELOAD | REPLICATION CLIENT | REPLICATION SLAVE | SELECT | SHOW DATABASES | SHOW VIEW | SHUTDOWN | SUPER | UPDATE | USAGE

許可權

意義

ALL [PRIVILEGES]

設定除GRANT OPTION之外的所有簡單許可權

ALTER

允許使用ALTER TABLE

ALTER ROUTINE

更改或取消已儲存的子程式

CREATE

允許使用CREATE TABLE

CREATE ROUTINE

建立已儲存的子程式

CREATE TEMPORARY TABLES

允許使用CREATE TEMPORARY TABLE

CREATE USER

允許使用CREATE USER, DROP USER, RENAME USER和REVOKE ALL PRIVILEGES。

CREATE VIEW

允許使用CREATE VIEW

DELETE

允許使用DELETE

DROP

允許使用DROP TABLE

EXECUTE

允許使用者運行已儲存的子程式

FILE

允許使用SELECT...INTO OUTFILE和LOAD DATA INFILE

INDEX

允許使用CREATE INDEX和DROP INDEX

INSERT

允許使用INSERT

LOCK TABLES

允許對您擁有SELECT許可權的表使用LOCK TABLES

PROCESS

允許使用SHOW FULL PROCESSLIST

REFERENCES

未被實施

RELOAD

允許使用FLUSH

REPLICATION CLIENT

允許使用者詢問從屬伺服器或主伺服器的地址

REPLICATION SLAVE

用於複製型從屬伺服器(從主伺服器中讀取二進位日誌事件)

SELECT

允許使用SELECT

SHOW DATABASES

SHOW DATABASES顯示所有資料庫

SHOW VIEW

允許使用SHOW CREATE VIEW

SHUTDOWN

允許使用mysqladmin shutdown

SUPER

允許使用CHANGE MASTER, KILL, PURGE MASTER LOGS和SET GLOBAL語句,mysqladmin debug命令;允許您串連(一次),即使已達到max_connections。

UPDATE

允許使用UPDATE

USAGE

“無許可權”的同義字

GRANT OPTION

 

object_type對應的有:
    TABLE  | FUNCTION | PROCEDURE

priv_level對應的有:
    * | *.* | db_name.* | db_name.tbl_name | tbl_name | db_name.routine_name

user_specification對應內容為:
    [ IDENTIFIED BY [PASSWORD] ‘password‘ | IDENTIFIED WITH auth_plugin [AS ‘auth_string‘] ]

 

ssl_option對應的有:
    SSL | X509 | CIPHER ‘cipher‘ | ISSUER ‘issuer‘ | SUBJECT ‘subject‘

 

with_option對應內容為:
    GRANT OPTION  | MAX_QUERIES_PER_HOUR count | MAX_UPDATES_PER_HOUR count  | MAX_CONNECTIONS_PER_HOUR count | MAX_USER_CONNECTIONS count

 

 舉例:

mysql> create database testdb;mysql> grant all privileges on testdb.* to [email protected]‘localhost‘  identified by ‘testdb‘;

mysql> create user [email protected]‘localhost‘ identified by ‘testdb‘;

通過上述方式,使用者被建立在mysql.user表中。

mysql> select host,user,authentication_string from mysql.user where user=‘test‘;

 

對於目前使用者授權情況可以通過以下語句查詢

mysql> show grants;mysql> show grants for [email protected]‘localhost‘;mysql> show grants for current_user;mysql> show grants for current_user();

REVOKE

 

REOVKE priv_type,...... ON [obj_type] priv_level FROM user_specification

 

舉例:

mysql> revoke all on testdb.* from [email protected]‘127.0.0.1’

刪除user表中定義的使用者

mysql> drop user ‘dbd‘@‘127.0.0.1‘;

本文出自 “LinuxOracle” 部落格,請務必保留此出處http://onlinekof2001.blog.51cto.com/3106724/1685454

Mysql使用者授權管理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.