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

ให้สิทธิ์ USER เข้าถึง VIEW เท่านั้นใน MySQL (GRANT SELECT ON VIEW)

ใช้ GRANT SELECT ON database.view TO 'user'@'host'; ให้สิทธิ์อ่าน View เฉพาะเจาะจง

ขั้นตอน

  1. ดู View ใน Database: SHOW FULL TABLES IN db_name WHERE TABLE_TYPE LIKE 'VIEW';
  2. ดู User ที่มีอยู่: SELECT user, host FROM mysql.user;
  3. Grant สิทธิ์: GRANT SELECT ON test.viewemployeeidandemployeename TO 'Adam Smith'@'localhost';

ตัวอย่างผลลัพธ์

mysql> SHOW FULL TABLES IN test WHERE TABLE_TYPE LIKE 'VIEW';
+----------------------------------+------------+
| Tables_in_test                   | Table_type |
+----------------------------------+------------+
| empidandempname_view             | VIEW       |
| empinfoview                      | VIEW       |
| lookuptable                      | VIEW       |
| view_student                     | VIEW       |
| viewemployeeidandemployeename    | VIEW       |
+----------------------------------+------------+

Grant สำเร็จ: Query OK, 0 rows affected

หลักการความปลอดภัย: ให้สิทธิ์น้อยที่สุด (Least Privilege) - ให้ SELECT View เท่านั้น ไม่ให้เข้าถึง Table ตรงๆ