1. ภาพรวมของผู้ใช้ MySQL
การจัดการผู้ใช้ MySQL เป็นส่วนสำคัญของความปลอดภัยและการดำเนินการฐานข้อมูล การจัดการผู้ใช้อย่างเหมาะสมช่วยป้องกันการเข้าถึงที่ไม่ได้รับอนุญาตและปรับปรุงประสิทธิภาพการทำงานโดยการกำหนดสิทธิ์ที่เหมาะสม ในบทความนี้ เราจะอธิบายโดยละเอียดเกี่ยวกับวิธีที่ MySQL เก็บข้อมูลผู้ใช้และวิธีที่คุณสามารถแสดงรายการผู้ใช้ได้
1.1 เหตุผลที่การจัดการผู้ใช้ MySQL สำคัญ
เนื่องจากฐานข้อมูลเก็บข้อมูลที่ละเอียดอ่อน การจัดการผู้ใช้อย่างเหมาะสมจึงจำเป็น โดยการกำหนดสิทธิ์การเข้าถึงอย่างละเอียดสำหรับผู้ใช้แต่ละคน คุณสามารถเสริมสร้างความปลอดภัยและรักษาความสมบูรณ์ของข้อมูลได้
2. ที่ที่ MySQL เก็บข้อมูลผู้ใช้
ข้อมูลผู้ใช้ MySQL ถูกเก็บไว้ในตาราง user ภายในฐานข้อมูล mysql ตารางนี้ประกอบด้วยรายละเอียดที่เกี่ยวข้องกับผู้ใช้ต่างๆ เช่น ชื่อผู้ใช้ ชื่อโฮสต์ รหัสผ่าน (ที่เข้ารหัส) และปลั๊กอินการรับรองตัวตน
2.1 โครงสร้างของตาราง mysql.user
ตาราง mysql.user ประกอบด้วยคอลัมน์จำนวนมาก โดยแต่ละคอลัมน์เก็บข้อมูลที่แตกต่างกันที่เกี่ยวข้องกับผู้ใช้ รวมถึงคอลัมน์ดังต่อไปนี้:
Host: ชื่อโฮสต์ที่ผู้ใช้ได้รับอนุญาตให้เชื่อมต่อUser: ชื่อผู้ใช้Password: รหัสผ่านที่เข้ารหัสplugin: ประเภทของปลั๊กอินการรับรองตัวตน- การตั้งค่าความปลอดภัยอื่นๆ ที่เกี่ยวข้อง
เพื่อเข้าถึงตารางนี้ คุณจำเป็นต้องมีสิทธิ์ root หรือสิทธิ์ SELECT บน mysql.user
3. วิธีการรับรายการผู้ใช้ MySQL
เพื่อดึงรายการผู้ใช้ MySQL คุณต้องคิวรีตาราง mysql.user ด้านล่างนี้ เราจะอธิบายตั้งแต่คิวรีพื้นฐานสำหรับการแสดงรายการผู้ใช้ไปจนถึงวิธีการแสดงรหัสผ่านที่เข้ารหัส
3.1 คิวรีพื้นฐานสำหรับการแสดงรายการผู้ใช้
ก่อนอื่น นี่คือคิวรีพื้นฐานสำหรับดึงรายการผู้ใช้จากตาราง mysql.user
SELECT Host, User FROM mysql.user;
เมื่อคุณรันคิวรีนี้ มันจะแสดงรายการผู้ใช้ทั้งหมดและโฮสต์ที่สอดคล้องกัน
3.2 การแสดงรหัสผ่านที่เข้ารหัส
เพื่อดึงรายการที่รวมรหัสผ่านที่เข้ารหัส ใช้คิวรีต่อไปนี้
SELECT Host, User, Password FROM mysql.user;
คิวรีนี้แสดงชื่อโฮสต์ ชื่อผู้ใช้ และรหัสผ่านที่เข้ารหัส อย่างไรก็ตาม เนื่องจากรหัสผ่านถูกเข้ารหัส คุณจึงไม่สามารถระบุรหัสผ่านจริงจากค่าคนี้ได้
4. การดึงข้อมูลผู้ใช้เพิ่มเติม
ใน MySQL คุณสามารถดึงข้อมูลเพิ่มเติมเกี่ยวกับผู้ใช้ได้ โดยเฉพาะอย่างยิ่ง การตรวจสอบสิทธิ์ผู้ใช้และระบุผู้ใช้ที่เชื่อมต่อในปัจจุบัน
4.1 การตรวจสอบสิทธิ์ผู้ใช้
เพื่อตรวจสอบสิทธิ์ที่กำหนดให้ผู้ใช้แต่ละคน ใช้คำสั่ง SHOW GRANTS
SHOW GRANTS FOR 'username'@'host';
คำสั่งนี้แสดงสิทธิ์ทั้งหมดที่มอบให้ผู้ใช้ที่ระบุ การจัดการสิทธิ์ผู้ใช้อย่างเหมาะสมช่วยเสริมสร้างความปลอดภัยของฐานข้อมูล
4.2 การตรวจสอบผู้ใช้ที่เชื่อมต่อในปัจจุบัน
เพื่อตรวจสอบข้อมูลเกี่ยวกับผู้ใช้ที่เชื่อมต่อในปัจจุบัน ใช้ฟังก์ชัน user() และ current_user()
SELECT user(), current_user();
คิวรีนี้คืนค่าชื่อผู้ใช้ที่ระบุในเวลาการเชื่อมต่อและชื่อผู้ใช้ที่รับรองตัวตนจริง ในกรณีส่วนใหญ่ พวกมันจะเหมือนกัน แต่ในบางสถานการณ์ เช่น การใช้ผู้ใช้แบบไม่ระบุชื่อ พวกมันอาจแตกต่างกัน

5. ตัวอย่างปฏิบัติ
ถัดไป นี่คือตัวอย่างปฏิบัติเกี่ยวกับวิธีการแสดงรายการผู้ใช้ใน MySQL
5.1 ขั้นตอนในการแสดงรายการผู้ใช้
- ล็อกอินเข้าสู่ MySQL ในตัวอย่างนี้ เราจะใช้ผู้ใช้
rootmysql -u root -p - รันคิวรีต่อไปนี้เพื่อแสดงรายการผู้ใช้
SELECT Host, User FROM mysql.user; - หากคุณต้องการแสดงรายการรวมรหัสผ่านที่เข้ารหัส ใช้คิวรีต่อไปนี้
SELECT Host, User, Password FROM mysql.user;
5.2 การตรวจสอบสิทธิ์
เพื่อตรวจสอบสิทธิ์สำหรับผู้ใช้เฉพาะ ใช้คำสั่ง SHOW GRANTS
SHOW GRANTS FOR 'tanaka'@'localhost';
คำสั่งนี้แสดงสิทธิ์ที่มอบให้ผู้ใช้ tanaka
6. แนวปฏิบัติที่ดีที่สุดสำหรับการจัดการผู้ใช้ MySQL
เมื่อจัดการผู้ใช้ MySQL สิ่งสำคัญคือต้องปฏิบัติตามแนวปฏิบัติที่ดีที่สุดหลายประการ
6.1 ตรวจสอบรายการผู้ใช้เป็นประจำ
เราขอแนะนำให้ตรวจสอบตาราง mysql.user เป็นประจำเพื่อให้แน่ใจว่าไม่มีผู้ใช้ที่ไม่จำเป็นและไม่มีผู้ใช้ที่มีสิทธิ์ที่กำหนดไม่ถูกต้อง
6.2 ใช้รหัสผ่านที่แข็งแกร่ง
ให้แน่ใจว่าผู้ใช้แต่ละคนมีรหัสผ่านที่แข็งแกร่งและซับซ้อน ซึ่งช่วยลดความเสี่ยงจากการเข้าถึงโดยไม่ได้รับอนุญาต
6.3 มอบสิทธิ์ขั้นต่ำที่จำเป็น
รักษาสิทธิ์ของผู้ใช้ให้อยู่ในขั้นต่ำที่จำเป็นและอนุญาตเฉพาะการดำเนินการที่จำเป็น ซึ่งช่วยปรับปรุงความปลอดภัยของฐานข้อมูลโดยรวม
7. สรุป
ในบทความนี้ เราอธิบายการจัดการผู้ใช้ MySQL อย่างละเอียด การเข้าใจว่าข้อมูลผู้ใช้ถูกเก็บไว้ที่ไหนและวิธีการแสดงรายการมีความสำคัญต่อการรักษาความปลอดภัยของฐานข้อมูล นอกจากนี้ การรู้วิธีตรวจสอบสิทธิ์ผู้ใช้และรายละเอียดการเชื่อมต่อช่วยให้คุณจัดการ MySQL ได้อย่างมีประสิทธิภาพมากขึ้น


