เนื่องจาก 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;
|
วิธีการทำ 1
ให้กำหนดสิทธิผู้ใช้ฐานข้อมูล
table phonebook ชื่อ jib
โดยสามารถจัดการข้อมูลได้ทุกอย่าง
ผลลัพธ์ดังภาพข้างล่าง
mysql>
mysql> GRANT all ON phonebook TO jib;
Query OK, 0 rows affected (0.03 sec)
mysql>
|
วิธีการทำ 2
ให้กำหนดสิทธิผู้ใช้ฐานข้อมูล
table phonebook ชื่อ somchai โดยสามารถ select
และ insert data ได้เท่านั้น
ผลลัพธ์ดังภาพข้างล่าง
mysql>
mysql> GRANT select,insert ON phonebook TO somchai;
Query OK, 0 rows affected (0.00 sec)
mysql>
|
MySQL
ยังสามารถขอดู user
ที่เราได้กำหนดไปแล้วได้ด้วย
รูปแบบคำสั่งการขอดูผู้ใช้ข้อมูล
รูปแบบคำสั่งขอดูผู้ใช้ข้อมูล
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>
|
เมื่อเราสามารถกำหนดผู้ใช้ฐานข้อมูลได้แล้วเราก็ต้องสามารถยกเลิกได้ด้วย
การยกเลิกสิทธิเราสามารถยกเลิกทั้งหมด
หรือยกเลิกสิทธิเฉพาะอย่างได้
เช่น user ชื่อ jib
มีสิทธิสามารถทำได้ทุกอย่าง select,
insert, update, delete data ได้
ในขณะเดียวกันเราก็สามารถยกเลิกสิทธิบางอย่างได้เช่น
ยกเลิก การ update และ delete data ได้เป็นต้น
รูปแบบคำสั่งการยกเลิกผู้ใช้ข้อมูล
รูปแบบคำสั่งจัดการกำหนดผู้ใช้ข้อมูล
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;
|
วิธีการทำ 1
ให้ยกเลิกสิทธิผู้ใช้ฐานข้อมูล
table phonebook ชื่อ somchai
โดยยกเลิกทั้งหมด
(ได้สร้างจากข้างต้นแล้ว)
ผลลัพธ์ดังภาพข้างล่าง
mysql>
mysql> REVOKE all ON phonebook FROM somchai;
Query OK, 0 rows affected (0.01 sec)
mysql>
|
วิธีการทำ 2
ให้ยกเลิกสิทธิผู้ใช้ฐานข้อมูล
table phonebook ชื่อ jib โดยยกเลิกเฉพาะ update,
delete (ได้สร้างจากข้างต้นแล้ว)
ผลลัพธ์ดังภาพข้างล่าง
mysql>
mysql> REVOKE update,delete ON phonebook FROM jib;
Query OK, 0 rows affected (0.00 sec)
mysql>
|
Tip
user
โดยทั่วไปเช่นผู้สั่งซื้อของผ่านทางอินเทอร์เนต
จะไม่สามารถแก้ไขและลบข้อมูลได้
จะมี user
เฉพาะเท่านั้นที่สามารถแก้ไขและลบข้อมูลได
้เช่น user admin เป็นต้น
ดังนั้นการกำหนดสิทธิ user
จึงหมายถึงความปลอดภัยของระบบด้วย
Copyright By Passkorn Roungrong 2000
|