วิธีสร้างผู้ใช้ MySQL และกำหนดสิทธิ์เฉพาะเจาะจง
ขั้นตอนหลัก 2 ขั้นตอน: 1) สร้างผู้ใช้ 2) ให้สิทธิ์ (GRANT) เฉพาะสิทธิ์ที่จำเป็น
ขั้นตอนที่ 1: สร้างผู้ใช้
CREATE USER 'yourUserName'@'yourHostName' IDENTIFIED BY 'yourPassword';
ขั้นตอนที่ 2: ให้สิทธิ์จำกัด
GRANT SELECT, INSERT, UPDATE, DELETE, ALTER, CREATE, REFERENCES ON yourDatabaseName.* TO 'yourUserName'@'yourHostName';
ตัวอย่างการใช้งาน
สร้างผู้ใช้ David ที่ localhost ให้สิทธิ์บนฐานข้อมูล test:
mysql> CREATE USER 'David'@'localhost' IDENTIFIED BY 'david'; Query OK, 0 rows affected (0.20 sec) mysql> GRANT SELECT, INSERT, UPDATE, DELETE, ALTER, CREATE, REFERENCES ON test.* TO 'David'@'localhost'; Query OK, 0 rows affected (0.21 sec)
ตรวจสอบผู้ใช้ที่สร้าง:
mysql> select user, host from MySQL.user;
+------------------+-----------+ | user | host | +------------------+-----------+ | David | localhost | | ... (ผู้ใช้อื่นๆ) | ... | +------------------+-----------+
สิทธิ์ทั่วไปที่มักให้ (Principle of Least Privilege):
SELECT- อ่านข้อมูลINSERT- เพิ่มข้อมูลUPDATE- แก้ไขข้อมูลDELETE- ลบข้อมูลCREATE- สร้างตาราง/ดัชนีALTER- แก้ไขโครงสร้างตารางREFERENCES- สร้าง Foreign Key
ไม่ควรให้: DROP, GRANT OPTION, SHUTDOWN, SUPER เว้นแต่จำเป็นมาก