เนื่องจาก MySQL ทำงานภายใต้ Client Server
สามารถทำงานได้ทั้งเครือข่าย Internet
และ Intranet
นั่นหมายความว่าผู้ใช้สามารถใช้
MySQL จากที่ใดก็ได้ในโลกที่มี Internet
อย่างไรก็ตามถ้ามีผู้ใช้ผู้อื่นที่ไม่พึงประสงค์
เข้ามาใช้ข้อมูลของเราหรือผู้บุกรุกระบบ
(Hacker)
ก็จะสร้างความเสียหายแก่ข้อมูลของเราได้
ความจำเป็นของระบบป้องกันความปลอดภัย
จึงต้องเข้ามาเกี่ยวข้องด้วย
MySQL
ได้มีระบบดังกล่าวมาให้เรียบร้อยแล้ว
มันสามารถกำหนดผู้ใช้ฐานข้อมูลตลอดจนสิทธิในการใช้
เช่นสามารถดูข้อมูลได้อย่างเดียว
หรือสามารถดูแก้ไขและลบข้อมูลได้
เป็นต้น
การกำหนดสิทธิ(ระดับการใช้ข้อมูล)
และผู้ใช้มีรูปแบบคำสั่งดังต่อไปนี้
รูปแบบคำสั่งการกำหนดผู้ใช้ข้อมูล
รูปแบบคำสั่งกำหนดผู้ใช้ข้อมูล
GRANT all/select,insert,update,delete ON tablename TO username; คำอธิบาย GRANT all/select,insert,update,delete ON tablename TO username; GRANT คำ สั่งกำหนดสิทธิและผู้ใช้ข้อมูล all ให้สิทธิทั้งหมด insert, select, update, delete select,insert,update,delete สิทธิการใช้อาจไม่ต้องกำหนดให้ทั้งหมดก็ได้ สามารถเลือกได้ตามความต้องการ ON เป็นการกำหนดให้ table ชื่ออะไร TO ให้แก่ใคร username ชื่อของ user ที่ต้องการกำหนด ตัวอย่าง SELECT * FROM phonebook ORDER BY salary; |
ให้กำหนดสิทธิผู้ใช้ฐานข้อมูล table phonebook ชื่อ jib โดยสามารถจัดการข้อมูลได้ทุกอย่าง
ผลลัพธ์ดังภาพข้างล่าง
mysql>
mysql> GRANT all ON phonebook TO jib;
Query OK, 0 rows affected (0.03 sec)
mysql>
|
ให้กำหนดสิทธิผู้ใช้ฐานข้อมูล table phonebook ชื่อ somchai โดยสามารถ select และ insert data ได้เท่านั้น
ผลลัพธ์ดังภาพข้างล่าง
mysql>
mysql> GRANT select,insert ON phonebook TO somchai;
Query OK, 0 rows affected (0.00 sec)
mysql>
|
รูปแบบคำสั่งการขอดูผู้ใช้ข้อมูล
รูปแบบคำสั่งขอดูผู้ใช้ข้อมูล SELECT user(); คำอธิบาย SELECT user(); SELECT ขอดูข้อมูล user() ข้อมูล user ที่เรากำหนด ตัวอย่าง SELECT user(); |
ให้ขอดู user ที่เรากำหนดไว้แล้ว
ผลลัพธ์ ดังภาพ
mysql>
mysql> SELECT user();
+----------------+
| user() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.01 sec)
mysql>
|
การยก
เลิกผู้ใช้ฐานข้อมูล
|
รูปแบบคำสั่งการยกเลิกผู้ใช้ข้อมูล
รูปแบบคำสั่งจัดการกำหนดผู้ใช้ข้อมูล
REVOKE all/select,insert,update,delete ON tablename From username; คำอธิบาย REVOKE all/select,insert,update,delete ON tablename From username; REVOKE คำ สั่งยกเลิกการกำหนดสิทธิและผู้ใช้ข้อมูล all ยกเลิกทั้งหมด select,insert,update,delete ยกเลิกบางส่วน สามารถเลือกได้ตามความต้องการ ON ยกเลิกที่ table ชื่ออะไร From ยกเลิกผู้ใด username ชื่อของ user ที่ต้องการยกเลิก ตัวอย่าง REVOKE all ON phonebook From jib; |
ให้ยกเลิกสิทธิผู้ใช้ฐานข้อมูล table phonebook ชื่อ somchai โดยยกเลิกทั้งหมด (ได้สร้างจากข้างต้นแล้ว)
ผลลัพธ์ดังภาพข้างล่าง
mysql>
mysql> REVOKE all ON phonebook FROM somchai;
Query OK, 0 rows affected (0.01 sec)
mysql>
|
ให้ยกเลิกสิทธิผู้ใช้ฐานข้อมูล table phonebook ชื่อ jib โดยยกเลิกเฉพาะ update, delete (ได้สร้างจากข้างต้นแล้ว)
ผลลัพธ์ดังภาพข้างล่าง
mysql>
mysql> REVOKE update,delete ON phonebook FROM jib;
Query OK, 0 rows affected (0.00 sec)
mysql>
|
0 ความคิดเห็น:
แสดงความคิดเห็น