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

ตารางควบคุมสิทธิ์ใน MySQL (Grant Tables)

ฐานข้อมูล mysql มี 5 ตารางสิทธิ์หลัก

1. user table - Global Privileges

  • บัญชีผู้ใช้และสิทธิ์ระดับ Global
  • MySQL ใช้ตัดสินใจ Accept/Reject การเชื่อมต่อ
  • สิทธิ์ที่นี่มีผลต่อทุกฐานข้อมูล

2. db table - Database-level Privileges

  • สิทธิ์ระดับฐานข้อมูล
  • กำหนดว่า user เข้าถึง database ไหนได้ จาก host ไหน
  • ครอบคลุม objects ทั้งหมดใน DB (tables, views, triggers, SP)

3. tables_priv - Table-level Privileges

  • สิทธิ์ระดับตาราง
  • ครอบคลุมตารางและคอลัมน์ภายใน

4. columns_priv - Column-level Privileges

  • สิทธิ์ระดับคอลัมน์เฉพาะเจาะจง
  • ใช้ควบคุมการเข้าถึงคอลัมน์ sensitve (salary, password, etc.)

5. procs_priv - Stored Routine Privileges

  • สิทธิ์สำหรับ Stored Procedures และ Functions
  • ควบคุม EXECUTE, ALTER ROUTINE, GRANT

ลำดับการตรวจสอบสิทธิ์

  1. user table (Global)
  2. db table (Database)
  3. tables_priv (Table)
  4. columns_priv (Column)
  5. procs_priv (Routine)

สิทธิ์ระดับต่ำจะ override ระดับสูงได้