Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ให้สิทธิ์ผู้ใช้เพื่อดูเฉพาะมุมมอง MySQL หรือไม่


หากต้องการให้สิทธิ์ผู้ใช้ในการดูเฉพาะมุมมอง MySQL ให้ใช้ไวยากรณ์ด้านล่าง

GRANT เลือกบน yourDatabaseName.yourViewName TO ' yourUserName@'yourLocalHost';

ก่อนอื่นคุณต้องแสดงชื่อมุมมองทั้งหมดจากตาราง ไวยากรณ์มีดังนี้ −

แสดงตารางเต็มในชื่อฐานข้อมูลของคุณโดยที่ TABLE_TYPE LIKE 'VIEW';

ตอนนี้ใช้ไวยากรณ์ด้านบนเพื่อแสดงมุมมองทั้งหมดจากฐานข้อมูล ที่นี่ฉันใช้ชื่อฐานข้อมูล 'ทดสอบ' แบบสอบถามมีดังต่อไปนี้ −

mysql> แสดงตารางเต็มในการทดสอบโดยที่ TABLE_TYPE LIKE 'VIEW';

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+-------------------------------------+-----------+| Tables_in_test | Table_type |+-------------------------------+-----------+| empidandempname_view | ดู || empinfoview | ดู || lookuptable | ดู || view_student | ดู || viewemployeeidandemployeename | ดู |+-------------------------------------+-----------+5 แถว ในชุด (0.00 วินาที)

แสดงชื่อผู้ใช้และโฮสต์ทั้งหมดจากตาราง MySQL.user แบบสอบถามมีดังต่อไปนี้ −

mysql> เลือกผู้ใช้, โฮสต์จาก MySQL.user;

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+--------------------------------------+| ผู้ใช้ | โฮสต์ |+-----------------------------------------------+| มานิช | % || ผู้ใช้2 | % || mysql.infoschema | % || mysql.session | % || mysql.sys | % || ราก | % || อดัม สมิธ | localhost || ผู้ใช้1 | localhost || น | localhost |+--------------------------+-----------+9 แถวในชุด (0.00 วินาที)

ให้สิทธิ์ผู้ใช้และโฮสต์ ตอนนี้ใช้ฐานข้อมูล 'ทดสอบ' และมุมมองคือ 'viewemployeeidandemployeename' ในการมอบให้แก่ 'Adam Smith'@'localhost' ต่อไปนี้คือข้อความค้นหา −

mysql> GRANT SELECT ในการทดสอบ viewemployeeidandemployeename TO ' Adam Smith'@'localhost'; แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.18 วินาที)