ฉันจะแสดงสิทธิ์ของผู้ใช้ใน MySQL ได้อย่างไร


69

ฉันรู้ว่าฉันสามารถตั้งค่าสิทธิ์ของผู้ใช้ด้วยวิธีง่ายๆดังต่อไปนี้:

grant all on [database name].[table name] to [user name]@[host name];

แต่ฉันจะดูสิทธิพิเศษที่มีอยู่ได้อย่างไร

ฉันต้องการดูข้อมูลที่คล้ายกับที่ใช้ในการให้สิทธิ์ ในคำอื่น ๆ ฉันต้องการทราบว่าผู้ใช้ที่กำหนดมีการเข้าถึงตารางที่กำหนดของฐานข้อมูลที่กำหนดจากโฮสต์ที่กำหนด

ฉันจะรับมันได้อย่างไร

คำตอบ:



51

นี่คือเอกสาร MySQLสำหรับSHOW GRANTS:

SHOW GRANTS [FOR user]

คำสั่งนี้แสดงรายการคำสั่ง GRANT หรือคำสั่งที่ต้องใช้เพื่อทำซ้ำสิทธิ์ที่มอบให้กับบัญชีผู้ใช้ MySQL บัญชีถูกตั้งชื่อโดยใช้รูปแบบเดียวกับคำสั่ง GRANT ตัวอย่างเช่น 'jeffrey' @ 'localhost' หากคุณระบุเฉพาะส่วนชื่อผู้ใช้ของชื่อบัญชีระบบจะใช้ส่วนชื่อโฮสต์ของ '%' สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการระบุชื่อบัญชีดูหัวข้อ 12.5.1.3“ ไวยากรณ์แกรนต์”

mysql> SHOW GRANTS FOR 'root'@'localhost';
+---------------------------------------------------------------------+
| Grants for root@localhost                                           |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+

ในการแสดงรายการสิทธิ์ที่มอบให้กับบัญชีที่คุณใช้เชื่อมต่อกับเซิร์ฟเวอร์คุณสามารถใช้คำสั่งใด ๆ ต่อไปนี้:

SHOW GRANTS;
SHOW GRANTS FOR CURRENT_USER;
SHOW GRANTS FOR CURRENT_USER();

ในฐานะของ MySQL 5.0.24 หาก SHOW GRANTS สำหรับ CURRENT_USER (หรือไวยากรณ์ใด ๆ ที่เทียบเท่า) ถูกใช้ในบริบท DEFINER เช่นภายในกระบวนงานที่เก็บไว้ที่กำหนดไว้กับ SQL SECURITY DEFINER) การแสดงที่ได้รับจะเป็นของ definer และ ไม่ใช่ผู้บุกรุก

SHOW GRANTS แสดงเฉพาะสิทธิ์ที่ให้กับบัญชีที่ระบุเท่านั้น อาจมีสิทธิ์พิเศษอื่น ๆ สำหรับบัญชี แต่ไม่ได้แสดง ตัวอย่างเช่นหากมีบัญชีที่ไม่ระบุชื่อบัญชีที่มีชื่ออาจสามารถใช้สิทธิ์ได้ แต่ SHOW GRANTS จะไม่แสดง

SHOW GRANTS ต้องการสิทธิ์ SELECT สำหรับฐานข้อมูล mysql


SHOW GRANTS requires the SELECT privilege for the mysql system database, except to display privileges and roles for the current user.
Sandip Bhattacharya
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.