ຕົວຢ່າງ MV ເພງ ຂໍໂທດທີ່ອ້າຍຈົນ ສົງກາ ເດັກບ້ານນາ
สารบัญ:
- ก่อนที่คุณจะเริ่ม
- สร้างบัญชีผู้ใช้ MySQL ใหม่
- ให้สิทธิ์แก่บัญชีผู้ใช้ MySQL
- แสดงสิทธิ์บัญชีผู้ใช้ MySQL
- เพิกถอนสิทธิ์จากบัญชีผู้ใช้ MySQL
- ลบบัญชีผู้ใช้ MySQL ที่มีอยู่
- ข้อสรุป
MySQL เป็นระบบจัดการฐานข้อมูลเชิงสัมพันธ์แบบโอเพนซอร์สที่นิยมมากที่สุด เซิร์ฟเวอร์ MySQL ช่วยให้เราสามารถสร้างบัญชีผู้ใช้จำนวนมากและให้สิทธิ์ที่เหมาะสมเพื่อให้ผู้ใช้สามารถเข้าถึงและจัดการฐานข้อมูล
บทช่วยสอนนี้อธิบายวิธีการสร้างบัญชีผู้ใช้ MySQL และให้สิทธิพิเศษ
ก่อนที่คุณจะเริ่ม
เราสมมติว่าคุณได้ติดตั้งเซิร์ฟเวอร์ MySQL หรือ MariaDB ไว้ในระบบของคุณแล้ว
คำสั่งทั้งหมดจะถูกดำเนินการภายใน MySQL shell ในฐานะผู้ใช้รูทหรือผู้ดูแลระบบ สิทธิ์ขั้นต่ำที่จำเป็นในการสร้างบัญชีผู้ใช้และกำหนดสิทธิ์เป็น
CREATE USER
และ
GRANT
ในการเข้าถึง MySQL shell ให้พิมพ์คำสั่งต่อไปนี้และป้อนรหัสผ่านผู้ใช้รูท MySQL ของคุณเมื่อได้รับแจ้ง:
สร้างบัญชีผู้ใช้ MySQL ใหม่
บัญชีผู้ใช้ใน MySQL ประกอบด้วยชื่อผู้ใช้และส่วนชื่อโฮสต์
เพื่อสร้างบัญชีผู้ใช้ MySQL ใหม่ให้รันคำสั่งต่อไปนี้:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password';
แทนที่
user_password
ค่าตัวยึดตำแหน่งด้วยชื่อผู้ใช้ใหม่ที่คุณต้องการและค่าตัวยึดตำแหน่ง
user_password
ด้วยรหัสผ่านผู้ใช้
ในคำสั่งด้านบนส่วนชื่อโฮสต์ถูกตั้งค่าเป็น
localhost
ซึ่งหมายความว่าผู้ใช้จะสามารถเชื่อมต่อกับเซิร์ฟเวอร์ MySQL เฉพาะจาก localhost (เช่นจากระบบที่เซิร์ฟเวอร์ MySQL ทำงาน)
ในการให้สิทธิ์การเข้าถึงจากโฮสต์อื่นให้เปลี่ยนส่วนชื่อโฮสต์ (
localhost
) ด้วย IP ของเครื่องรีโมต ตัวอย่างเช่นในการให้สิทธิ์การเข้าถึงจากเครื่องที่มี IP
10.8.0.5
คุณต้องเรียกใช้:
CREATE USER 'newuser'@'10.8.0.5' IDENTIFIED BY 'user_password';
ในการสร้างผู้ใช้ที่สามารถเชื่อมต่อจากโฮสต์ใด ๆ ให้ใช้ไวด์การ์ด
'%'
เป็นส่วนของโฮสต์:
CREATE USER 'newuser'@'%' IDENTIFIED BY 'user_password';
ให้สิทธิ์แก่บัญชีผู้ใช้ MySQL
มีสิทธิพิเศษหลายประเภทที่สามารถมอบให้กับบัญชีผู้ใช้ คุณสามารถดูรายการสิทธิ์ทั้งหมดที่ MySQL รองรับได้ที่นี่
สิทธิ์ที่ใช้บ่อยที่สุดคือ:
-
ALL PRIVILEGES
- มอบสิทธิ์ทั้งหมดให้กับบัญชีผู้ใช้CREATE
- บัญชีผู้ใช้ที่ได้รับอนุญาตให้สร้างฐานข้อมูลและตารางDROP
- บัญชีผู้ใช้ได้รับอนุญาตให้วางฐานข้อมูลและตารางDELETE
- บัญชีผู้ใช้ได้รับอนุญาตให้ลบแถวออกจากตารางที่ระบุINSERT
- บัญชีผู้ใช้ได้รับอนุญาตให้แทรกแถวลงในตารางที่ระบุSELECT
- บัญชีผู้ใช้นั้นได้รับอนุญาตให้อ่านฐานข้อมูลUPDATE
- บัญชีผู้ใช้ได้รับอนุญาตให้อัปเดตแถวของตาราง
ในการให้สิทธิ์พิเศษแก่บัญชีผู้ใช้คุณสามารถใช้ไวยากรณ์ต่อไปนี้:
GRANT permission1, permission2 ON database_name.table_name TO 'database_user'@'localhost';
นี่คือตัวอย่างบางส่วน:
-
รวมสิทธิ์ทั้งหมดเข้ากับบัญชีผู้ใช้ผ่านฐานข้อมูลเฉพาะ:
GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';
สิทธิพิเศษทั้งหมดสำหรับบัญชีผู้ใช้ในฐานข้อมูลทั้งหมด:
GRANT ALL PRIVILEGES ON *.* TO 'database_user'@'localhost';
กำหนดสิทธิ์ทั้งหมดให้กับบัญชีผู้ใช้บนตารางที่ระบุจากฐานข้อมูล:
GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';
มอบสิทธิพิเศษหลายอย่างให้กับบัญชีผู้ใช้ผ่านฐานข้อมูลเฉพาะ:
GRANT SELECT, INSERT, DELETE ON database_name.* TO database_user@'localhost';
แสดงสิทธิ์บัญชีผู้ใช้ MySQL
ในการค้นหาสิทธิ์ที่มอบให้กับบัญชีผู้ใช้ MySQL เฉพาะให้ใช้คำสั่ง
SHOW GRANTS
:
SHOW GRANTS FOR 'database_user'@'localhost';
+---------------------------------------------------------------------------+ | Grants for database_user@localhost | +---------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'database_user'@'localhost' | | GRANT ALL PRIVILEGES ON `database_name`.* TO 'database_user'@'localhost' | +---------------------------------------------------------------------------+ 2 rows in set (0.00 sec)
เพิกถอนสิทธิ์จากบัญชีผู้ใช้ MySQL
ไวยากรณ์ในการเพิกถอนสิทธิ์อย่างน้อยหนึ่งสิทธิจากบัญชีผู้ใช้นั้นเกือบจะเหมือนกันทุกประการเมื่อให้สิทธิ์
ตัวอย่างเช่นในการเพิกถอนสิทธิ์ทั้งหมดจากบัญชีผู้ใช้ผ่านฐานข้อมูลเฉพาะให้ใช้คำสั่งต่อไปนี้:
REVOKE ALL PRIVILEGES ON database_name.* FROM 'database_user'@'localhost';
ลบบัญชีผู้ใช้ MySQL ที่มีอยู่
ในการลบบัญชีผู้ใช้ MySQL ใช้คำสั่ง
DROP USER
:
DROP USER 'user'@'localhost'
คำสั่งดังกล่าวจะลบบัญชีผู้ใช้และสิทธิ์ของมัน
ข้อสรุป
บทแนะนำนี้ครอบคลุมเฉพาะพื้นฐาน แต่ควรเป็นการเริ่มต้นที่ดีสำหรับทุกคนที่ต้องการเรียนรู้วิธีสร้างบัญชีผู้ใช้ MySQL ใหม่และให้สิทธิ์
mysql mariadbโครงการ Drizzle Project มีโครงการ Stratus Down Downs สำหรับโครงการโอเพนซอร์สใหม่กำลังพัฒนาฐานข้อมูลไมโครเคอร์เนลใหม่โดยอิงกับ MySQL ซึ่งมีเป้าหมายใหญ่ -Scale โปรแกรมประยุกต์บนเว็บ

ฐานข้อมูล MySQL แบบโอเพนซอร์สเริ่มมีชีวิตชีวาเป็นทางเลือกที่มีน้ำหนักเบาสำหรับระบบจัดการฐานข้อมูลขนาดใหญ่ที่ขาดแคลนทรัพยากรเช่น Oracle หรือ Sybase ในช่วงหลายปีที่ผ่านมาผู้ใช้มีคุณสมบัติเพิ่มขึ้นเรื่อย ๆ ทำให้โค้ดเนมของ MySQL พองตัวด้วยความสามารถที่เคยพบมาก่อนในเชิงพาณิชย์เท่านั้น
Sun's Mickos: ฉันสบายดีกับ MySQL ของ MySQL 5.1 Rant

ผู้บริหารอาวุโสของ Sun ในวันจันทร์ลดลงความขัดแย้งกับสาธารณะล่าสุด วิพากษ์วิจารณ์โดยผู้ร่วมก่อตั้ง MySQL Michael Johnson "Monty" Widenius ซึ่งเป็นนักพัฒนาซอฟต์แวร์ฐานข้อมูลแบบโอเพนซอร์สของ MySQL ได้ปล่อย MySQL 5.1 เวอร์ชั่นล่าสุดของ Sun Microsystems ด้วยโพสต์โพสต์โพสต์ trashing ของเขาเมื่อวันที่ 29 พฤศจิกายนที่ผ่านมา Widenius เตือนให้ผู้ใช้ "ระมัดระวังเกี่ยวกับ MySQL 5.1" เพราะ "มีข้อผิดพลาดร้ายแรงที่รู้จักและไม่รู้จักหลายอย่างในคุณสมบัติใหม่ ๆ ที่ยังไม่ได้กล่าวถึง ความเห็นของ Widenius เพิ่มขึ้นอ
MySQL เปิดตัว MySQL Update เป็น Oracle Deal Looms

MySQL 5.4 เพิ่มการปรับปรุงขีดความสามารถให้กับฐานข้อมูล open-source