Android

วิธีสร้างบัญชีผู้ใช้ mysql และให้สิทธิ์

ຕົວຢ່າງ MV ເພງ ຂໍໂທດທີ່ອ້າຍຈົນ ສົງກາ ເດັກບ້ານນາ

ຕົວຢ່າງ MV ເພງ ຂໍໂທດທີ່ອ້າຍຈົນ ສົງກາ ເດັກບ້ານນາ

สารบัญ:

Anonim

MySQL เป็นระบบจัดการฐานข้อมูลเชิงสัมพันธ์แบบโอเพนซอร์สที่นิยมมากที่สุด เซิร์ฟเวอร์ MySQL ช่วยให้เราสามารถสร้างบัญชีผู้ใช้จำนวนมากและให้สิทธิ์ที่เหมาะสมเพื่อให้ผู้ใช้สามารถเข้าถึงและจัดการฐานข้อมูล

บทช่วยสอนนี้อธิบายวิธีการสร้างบัญชีผู้ใช้ MySQL และให้สิทธิพิเศษ

ก่อนที่คุณจะเริ่ม

เราสมมติว่าคุณได้ติดตั้งเซิร์ฟเวอร์ MySQL หรือ MariaDB ไว้ในระบบของคุณแล้ว

คำสั่งทั้งหมดจะถูกดำเนินการภายใน MySQL shell ในฐานะผู้ใช้รูทหรือผู้ดูแลระบบ สิทธิ์ขั้นต่ำที่จำเป็นในการสร้างบัญชีผู้ใช้และกำหนดสิทธิ์เป็น CREATE USER และ GRANT

ในการเข้าถึง MySQL shell ให้พิมพ์คำสั่งต่อไปนี้และป้อนรหัสผ่านผู้ใช้รูท MySQL ของคุณเมื่อได้รับแจ้ง:

mysql -u root -p

สร้างบัญชีผู้ใช้ 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