當前位置:首頁 » 版權產權 » mysql查詢所有許可權

mysql查詢所有許可權

發布時間: 2020-12-25 03:31:55

⑴ mysql查詢該用戶有哪些許可權

MySQL各種許可權(共27個) (以下操作都是以root身份登陸進行grant授權,以p1@localhost身份登陸執行各回種命令。) 1. usage 連接(登陸)答許可權,建立一個用戶,就會自動授予其usage許可權(默認授予)。 mysql> grant usage on *.* to 『p1′@』localho...

⑵ mysql如何查詢某個資料庫都有哪些用戶具有哪些操作許可權

mysql有個庫叫做mysql,裡面有張表叫做db,這張表就有你需要的內容。

⑶ mysql 語句如何以查詢的許可權執行

為這個用戶賦予只讀許可權:grant select on *.* to user1 identified by 'pwd';
--------------------------------------------
呵呵,放輕松,一切專都會好起來屬的!

⑷ MySQL的許可權有哪些

MySQL的許可權有哪些

  • 一.許可權表


  • mysql資料庫中的3個許可權表:user 、db、 host


  • 許可權表的存取過程是:


  • 1)先從user表中的host、 user、 password這3個欄位中判斷連接的IP、用戶名、密碼是否存在表中,存在則通過身份驗證;


  • 2)通過許可權驗證,進行許可權分配時,按照useràdbàtables_privàcolumns_priv的順序進行分配。即先檢查全局許可權表user,如果user中對應的許可權為Y,則此用戶對所有資料庫的許可權都為Y,將不再檢查db, tables_priv,columns_priv;如果為N,則到db表中檢查此用戶對應的具體資料庫,並得到db中為Y的許可權;如果db中為N,則檢查tables_priv中此資料庫對應的具體表,取得表中的許可權Y,以此類推。


  • 二.MySQL各種許可權(共27個)


  • (以下操作都是以root身份登陸進行grant授權,以p1@localhost身份登陸執行各種命令。)


  • 1. usage


  • 連接(登陸)許可權,建立一個用戶,就會自動授予其usage許可權(默認授予)。


  • mysql> grant usage on *.* to 『p1′@』localhost』 identified by 『123′;


  • 該許可權只能用於資料庫登陸,不能執行任何操作;且usage許可權不能被回收,也即REVOKE用戶並不能刪除用戶。


  • 2. select


  • 必須有select的許可權,才可以使用select table


  • mysql> grant select on pyt.* to 『p1′@』localhost』;


  • mysql> select * from shop;


  • 3. create


  • 必須有create的許可權,才可以使用create table


  • mysql> grant create on pyt.* to 『p1′@』localhost』;


  • 4. create routine


  • 必須具有create routine的許可權,才可以使用{create |alter|drop} {procere|function}


  • mysql> grant create routine on pyt.* to 『p1′@』localhost』;


  • 當授予create routine時,自動授予EXECUTE, ALTER ROUTINE許可權給它的創建者:


  • mysql> show grants for 『p1′@』localhost』;


  • +—————————————————————————+


  • Grants for p1@localhost


  • +————————————————————————–+


  • | GRANT USAGE ON *.* TO 『p1′@』localhost』 IDENTIFIED BY PASSWORD 『*′ |


  • | GRANT SELECT, CREATE, CREATE ROUTINE ON `pyt`.* TO 『p1′@』localhost』|


  • | GRANT EXECUTE, ALTER ROUTINE ON PROCEDURE `pyt`.`pro_shop1` TO 『p1′@』localhost』 |


  • +————————————————————————————-+


  • 5. create temporary tables(注意這里是tables,不是table)


  • 必須有create temporary tables的許可權,才可以使用create temporary tables.


  • mysql> grant create temporary tables on pyt.* to 『p1′@』localhost』;


  • [mysql@mydev ~]$ mysql -h localhost -u p1 -p pyt


  • mysql> create temporary table tt1(id int);


  • 6. create view


  • 必須有create view的許可權,才可以使用create view


  • mysql> grant create view on pyt.* to 『p1′@』localhost』;


  • mysql> create view v_shop as select price from shop;


  • 7. create user


  • 要使用CREATE USER,必須擁有mysql資料庫的全局CREATE USER許可權,或擁有INSERT許可權。


  • mysql> grant create user on *.* to 『p1′@』localhost』;


  • 或:mysql> grant insert on *.* to p1@localhost;


  • 8. insert


  • 必須有insert的許可權,才可以使用insert into ….. values….


  • 9. alter


  • 必須有alter的許可權,才可以使用alter table


  • alter table shop modify dealer char(15);


  • 10. alter routine


  • 必須具有alter routine的許可權,才可以使用{alter |drop} {procere|function}


  • mysql>grant alter routine on pyt.* to 『p1′@』 localhost 『;


  • mysql> drop procere pro_shop;


  • Query OK, 0 rows affected (0.00 sec)


  • mysql> revoke alter routine on pyt.* from 『p1′@』localhost』;


  • [mysql@mydev ~]$ mysql -h localhost -u p1 -p pyt


  • mysql> drop procere pro_shop;


  • ERROR 1370 (42000): alter routine command denied to user 『p1′@』localhost』 for routine 『pyt.pro_shop』


  • 11. update


  • 必須有update的許可權,才可以使用update table


  • mysql> update shop set price=3.5 where article=0001 and dealer=』A';


  • 12. delete


  • 必須有delete的許可權,才可以使用delete from ….where….(刪除表中的記錄)


  • 13. drop


  • 必須有drop的許可權,才可以使用drop database db_name; drop table tab_name;


  • drop view vi_name; drop index in_name;


  • 14. show database


  • 通過show database只能看到你擁有的某些許可權的資料庫,除非你擁有全局SHOW DATABASES許可權。


  • 對於p1@localhost用戶來說,沒有對mysql資料庫的許可權,所以以此身份登陸查詢時,無法看到mysql資料庫:


  • mysql> show databases;


  • +——————–+


  • | Database |


  • +——————–+


  • | information_schema|


  • | pyt |


  • | test |


  • +——————–+


  • 15. show view


  • 必須擁有show view許可權,才能執行show create view。


  • mysql> grant show view on pyt.* to p1@localhost;


  • mysql> show create view v_shop;


  • 16. index


  • 必須擁有index許可權,才能執行[create |drop] index


  • mysql> grant index on pyt.* to p1@localhost;


  • mysql> create index ix_shop on shop(article);


  • mysql> drop index ix_shop on shop;


  • 17. excute


  • 執行存在的Functions,Proceres


  • mysql> call pro_shop1(0001,@a);


  • +———+


  • | article |


  • +———+


  • | 0001 |


  • | 0001 |


  • +———+


  • mysql> select @a;


  • +——+


  • | @a |


  • +——+


  • | 2 |


  • +——+


  • 18. lock tables


  • 必須擁有lock tables許可權,才可以使用lock tables


  • mysql> grant lock tables on pyt.* to p1@localhost;


  • mysql> lock tables a1 read;


  • mysql> unlock tables;


  • 19. references


  • 有了REFERENCES許可權,用戶就可以將其它表的一個欄位作為某一個表的外鍵約束。


  • 20. reload


  • 必須擁有reload許可權,才可以執行flush [tables | logs | privileges]


  • mysql> grant reload on pyt.* to p1@localhost;


  • ERROR 1221 (HY000): Incorrect usage of DB GRANT and GLOBAL PRIVILEGES


  • mysql> grant reload on *.* to 『p1′@』localhost』;


  • Query OK, 0 rows affected (0.00 sec)


  • mysql> flush tables;


  • 21. replication client


  • 擁有此許可權可以查詢master server、slave server狀態。


  • mysql> show master status;


  • ERROR 1227 (42000): Access denied; you need the SUPER,REPLICATION CLIENT privilege for this operation


  • mysql> grant Replication client on *.* to p1@localhost;


  • 或:mysql> grant super on *.* to p1@localhost;


  • mysql> show master status;


  • +——————+———-+————–+——————+


  • | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |


  • +——————+———-+————–+——————+


  • | mysql-bin.000006 | 2111 | | |


  • +——————+———-+————–+——————+


  • mysql> show slave status;


  • 22. replication slave


  • 擁有此許可權可以查看從伺服器,從主伺服器讀取二進制日誌。


  • mysql> show slave hosts;


  • ERROR 1227 (42000): Access denied; you need the REPLICATION SLAVE privilege for this operation


  • mysql> show binlog events;


  • ERROR 1227 (42000): Access denied; you need the REPLICATION SLAVE privilege for this operation


  • mysql> grant replication slave on *.* to p1@localhost;


  • mysql> show slave hosts;


  • Empty set (0.00 sec)


  • mysql>show binlog events;


  • +—————+——-+—————-+———–+————-+————–+


  • | Log_name | Pos | Event_type | Server_id| End_log_pos|Info | +—————+——-+————–+———–+————-+—————+


  • | mysql-bin.000005 | 4 | Format_desc | 1 | 98 | Server ver: 5.0.77-log, Binlog ver: 4 | |mysql-bin.000005|98|Query|1|197|use `mysql`; create table a1(i int)engine=myisam|


  • ……………………………………


  • 23. Shutdown


  • 關閉MySQL:


  • [mysql@mydev ~]$ mysqladmin shutdown


  • 重新連接:


  • [mysql@mydev ~]$ mysql


  • ERROR 2002 (HY000): Can』t connect to local MySQL server through socket 『/tmp/mysql.sock』 (2)


  • [mysql@mydev ~]$ cd /u01/mysql/bin


  • [mysql@mydev bin]$ ./mysqld_safe &


  • [mysql@mydev bin]$ mysql


  • 24. grant option


  • 擁有grant option,就可以將自己擁有的許可權授予其他用戶(僅限於自己已經擁有的許可權)


  • mysql> grant Grant option on pyt.* to p1@localhost;


  • mysql> grant select on pyt.* to p2@localhost;


  • 25. file


  • 擁有file許可權才可以執行 select ..into outfile和load data infile…操作,但是不要把file, process, super許可權授予管理員以外的賬號,這樣存在嚴重的安全隱患。


  • mysql> grant file on *.* to p1@localhost;


  • mysql> load data infile 『/home/mysql/pet.txt』 into table pet;


  • 26. super


  • 這個許可權允許用戶終止任何查詢;修改全局變數的SET語句;使用CHANGE MASTER,PURGE MASTER LOGS。


  • mysql> grant super on *.* to p1@localhost;


  • mysql> purge master logs before 『mysql-bin.000006′;


  • 27. process


  • 通過這個許可權,用戶可以執行SHOW PROCESSLIST和KILL命令。默認情況下,每個用戶都可以執行SHOW PROCESSLIST命令,但是只能查詢本用戶的進程。


  • mysql> show processlist;


  • +—-+——+———–+——+———+——+——-+——————+


  • | Id | User | Host | db | Command | Time | State | Info |


  • +—-+——+———–+——+———+——+——-+——————+


  • | 12 | p1 | localhost | pyt | Query | 0 | NULL | show processlist |


  • +—-+——+———–+——+———+——+——-+——————+


  • 另外,


  • 管理許可權(如 super, process, file等)不能夠指定某個資料庫,on後面必須跟*.*


  • mysql> grant super on pyt.* to p1@localhost;


  • ERROR 1221 (HY000): Incorrect usage of DB GRANT and GLOBAL PRIVILEGES


  • mysql> grant super on *.* to p1@localhost;


  • Query OK, 0 rows affected (0.01 sec)

⑸ mysql怎麼查看用戶許可權

如果需要查看MySQL用戶許可權,應該如何實現呢?下面就為您介紹查看MySQL用戶許可權的方法,並對授予MySQL用戶許可權的語句進行介紹,供您參考。
查看MySQL用戶許可權:
show grants for 你的用戶
比如:
show grants for root@'localhost';
Grant 用法
GRANT USAGE ON *.* TO 'discuz'@'localhost' IDENTIFIED BY PASSWORD '*';
GRANT ALL PRIVILEGES ON `discuz`.* TO 'discuz'@'localhost';
我先按我的理解解釋一下上面兩句的意思
建立一個只可以在本地登陸的 不能操作的用用戶名 discuz 密碼為 ***** 已經加密了的
然後第二句的意思是 ,給這個discuz用戶操作discuz資料庫的所有權
使用GRANT
GRANT命令用來建立新用戶,指定用戶口令並增加用戶許可權。其格式如下:
mysql> GRANT <privileges> ON <what>
-> TO <user> [IDENTIFIED BY "<password>"]
-> [WITH GRANT OPTION];
正如你看到的,在這個命令中有許多待填的內容。讓我們逐一地對它們進行介紹,並最終給出一些例子以讓你對它們的協同工作有一個了解。
<privileges>是一個用逗號分隔的你想要賦予的MySQL用戶許可權的列表。你可以指定的許可權可以分為三種類型:
資料庫/數據表/數據列許可權: Alter: 修改已存在的數據表(例如增加/刪除列)和索引。
Create: 建立新的資料庫或數據表。
Delete: 刪除表的記錄。
Drop: 刪除數據表或資料庫。
INDEX: 建立或刪除索引。
Insert: 增加表的記錄。
Select: 顯示/搜索表的記錄。
Update: 修改表中已存在的記錄。
全局管理MySQL用戶許可權:
file: 在MySQL伺服器上讀寫文件。
PROCESS: 顯示或殺死屬於其它用戶的服務線程。
RELOAD: 重載訪問控製表,刷新日誌等。
SHUTDOWN: 關閉MySQL服務。
特別的許可權:
ALL: 允許做任何事(和root一樣)。
USAGE: 只允許登錄--其它什麼也不允許做。

⑹ 教您如何查看MySQL用戶許可權

查看MySQL用戶許可權:
show grants for 你的用戶比如:
show grants for root@'localhost';Grant 用法GRANT USAGE ON *.* TO 'discuz'@'localhost' IDENTIFIED BY PASSWORD '*';
GRANT ALL PRIVILEGES ON `discuz`.* TO 'discuz'@'localhost';
我先按我的理解解釋一下上面兩句的意思
建立一個只可以在本地登陸的 不能操作的用用戶名 discuz 密碼為 ***** 已經加密了的
然後第二句的意思是 ,給這個discuz用戶操作discuz資料庫的所有許可權使用GRANTGRANT命令用來建立新用戶,指定用戶口令並增加用戶許可權。其格式如下:
mysql GRANT <privileges ON <what
- TO <user [IDENTIFIED BY <password]
- [WITH GRANT OPTION];
正如你看到的源碼天空
,在這個命令中有許多待填的內容。讓我們逐一地對它們進行介紹,並最終給出一些例子以讓你對它們的協同工作有一個了解。
<privileges是一個用逗號分隔的你想要賦予的MySQL用戶許可權的列表。你可以指定的許可權可以分為三種類型:
資料庫/數據表/數據列許可權: Alter: 修改已存在的數據表(例如增加/刪除列)和索引。
Create: 建立新的資料庫或數據表。
Delete: 刪除表的記錄。
Drop: 刪除數據表或資料庫。
INDEX: 建立或刪除索引。
Insert: 增加表的記錄。
Select: 顯示/搜索表的記錄。
Update: 修改表中已存在的記錄。
全局管理MySQL用戶許可權:
file: 在MySQL伺服器上讀寫文件。
PROCESS: 顯示或殺死屬於其它用戶的服務線程。
RELOAD: 重載訪問控製表,刷新日誌等。
SHUTDOWN: 關閉MySQL服務。
特別的許可權:
ALL: 允許做任何事(和root一樣)。

⑺ MySQL的許可權有哪些

mysql常用的許可權:復
CREATE 資料庫、表制或索引創建許可權
DROP 資料庫或表刪除許可權
GRANT OPTION 資料庫、表或保存的程序許可權
REFERENCES 資料庫或表
ALTER 更改表,比如添加欄位、索引等
DELETE 刪除數據許可權
INDEX 索引許可權
INSERT 插入許可權
SELECT 查詢許可權
UPDATE 更新許可權
CREATE VIEW 視圖,創建視圖許可權
SHOW VIEW 視圖,視圖許可權
ALTER ROUTINE 存儲過程,更改存儲過程許可權
CREATE ROUTINE 存儲過程,創建存儲過程許可權
EXECUTE 存儲過程,執行存儲過程許可權

⑻ MySQL的許可權有哪些

mysql常用的許可權:
CREATE 資料庫、表或索引創建許可權專
DROP 資料庫或表刪除許可權
GRANT OPTION 資料庫、表或保存的程序屬許可權
REFERENCES 資料庫或表
ALTER 更改表,比如添加欄位、索引等
DELETE 刪除數據許可權
INDEX 索引許可權
INSERT 插入許可權
SELECT 查詢許可權
UPDATE 更新許可權
CREATE VIEW 視圖,創建視圖許可權
SHOW VIEW 視圖,視圖許可權
ALTER ROUTINE 存儲過程,更改存儲過程許可權
CREATE ROUTINE 存儲過程,創建存儲過程許可權
EXECUTE 存儲過程,執行存儲過程許可權

⑼ 如何mysql用戶只有查詢許可權

MySQL中所有使用者的許可權是記錄在mysql這個資料庫的users資料表中
所以你只要先use mysql
再SELECT * FROM users 你可以看到所有的使用者許可權
有關db的數據是記錄在Db(大小寫要注意)這個數據表中
所以只要呼叫出Db的資料 SELECT * FROM Db 就可以看到你要的答案
或者你可以用 SELECT * FROM Db WHERE Db='phplampDB'找出你要的答案

⑽ MySQL的許可權有哪些

不知道你問的什麼意思,mysql中用戶的權如下:
Select_priv。確定用戶是否可以通過SELECT命令選擇數據。
Insert_priv。確定用戶是否可以通過INSERT命令插入數據。
Update_priv。確定用戶是否可以通過UPDATE命令修改現有數據。
Delete_priv。確定用戶是否可以通過DELETE命令刪除現有數據。
Create_priv。確定用戶是否可以創建新的資料庫和表。
Drop_priv。確定用戶是否可以刪除現有資料庫和表。
Reload_priv。確定用戶是否可以執行刷新和重新載入MySQL所用各種內部緩存的特定命令,包括日誌、許可權、主機、查詢和表。
Shutdown_priv。確定用戶是否可以關閉MySQL伺服器。在將此許可權提供給root賬戶之外的任何用戶時,都應當非常謹慎。
Process_priv。確定用戶是否可以通過SHOW
PROCESSLIST命令查看其他用戶的進程。
File_priv。確定用戶是否可以執行SELECT INTO OUTFILE和LOAD DATA
INFILE命令。
Grant_priv。確定用戶是否可以將已經授予給該用戶自己的許可權再授予其他用戶。例如,如果用戶可以插入、選擇和刪除foo資料庫中的信息,並且授予了GRANT許可權,則該用戶就可以將其任何或全部許可權授予系統中的任何其他用戶。
References_priv。目前只是某些未來功能的佔位符;現在沒有作用。
Index_priv。確定用戶是否可以創建和刪除表索引。
Alter_priv。確定用戶是否可以重命名和修改表結構。
Show_db_priv。確定用戶是否可以查看伺服器上所有資料庫的名字,包括用戶擁有足夠訪問許可權的資料庫。可以考慮對所有用戶禁用這個許可權,除非有特別不可抗拒的原因。
Super_priv。確定用戶是否可以執行某些強大的管理功能,例如通過KILL命令刪除用戶進程,使用SET
GLOBAL修改全局MySQL變數,執行關於復制和日誌的各種命令。
Create_tmp_table_priv。確定用戶是否可以創建臨時表。
Lock_tables_priv。確定用戶是否可以使用LOCK
TABLES命令阻止對表的訪問/修改。
Execute_priv。確定用戶是否可以執行存儲過程。此許可權只在MySQL
5.0及更高版本中有意義。
Repl_slave_priv。確定用戶是否可以讀取用於維護復制資料庫環境的二進制日誌文件。此用戶位於主系統中,有利於主機和客戶機之間的通信。
Repl_client_priv。確定用戶是否可以確定復制從伺服器和主伺服器的位置。
Create_view_priv。確定用戶是否可以創建視圖。此許可權只在MySQL
5.0及更高版本中有意義。關於視圖的更多信息,參見第34章。
Show_view_priv。確定用戶是否可以查看視圖或了解視圖如何執行。此許可權只在MySQL
5.0及更高版本中有意義。關於視圖的更多信息,參見第34章。
Create_routine_priv。確定用戶是否可以更改或放棄存儲過程和函數。此許可權是在MySQL
5.0中引入的。
Alter_routine_priv。確定用戶是否可以修改或刪除存儲函數及函數。此許可權是在MySQL
5.0中引入的。
Create_user_priv。確定用戶是否可以執行CREATE
USER命令,這個命令用於創建新的MySQL賬戶。
Event_priv。確定用戶能否創建、修改和刪除事件。這個許可權是MySQL
5.1.6新增的。
Trigger_priv。確定用戶能否創建和刪除觸發器,這個許可權是MySQL 5.1.6新增的。

熱點內容
美發店認證 發布:2021-03-16 21:43:38 瀏覽:443
物業糾紛原因 發布:2021-03-16 21:42:46 瀏覽:474
全國著名不孕不育醫院 發布:2021-03-16 21:42:24 瀏覽:679
知名明星確診 發布:2021-03-16 21:42:04 瀏覽:14
ipad大專有用嗎 發布:2021-03-16 21:40:58 瀏覽:670
公務員協議班值得嗎 發布:2021-03-16 21:40:00 瀏覽:21
知名書店品牌 發布:2021-03-16 21:39:09 瀏覽:949
q雷授權碼在哪裡買 發布:2021-03-16 21:38:44 瀏覽:852
圖書天貓轉讓 發布:2021-03-16 21:38:26 瀏覽:707
寶寶水杯品牌 發布:2021-03-16 21:35:56 瀏覽:837