Android

วิธีการแสดง / รายการผู้ใช้ใน mysql

पृथà¥?वी पर सà¥?थित à¤à¤¯à¤¾à¤¨à¤• नरक मंदिर | Amazing H

पृथà¥?वी पर सà¥?थित à¤à¤¯à¤¾à¤¨à¤• नरक मंदिर | Amazing H

สารบัญ:

Anonim

คุณเคยต้องการรายชื่อผู้ใช้ทั้งหมดในเซิร์ฟเวอร์ MySQL ของคุณหรือไม่? มีคำสั่งเพื่อแสดงฐานข้อมูลและตาราง แต่ไม่มีคำสั่ง MySQL show users

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

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

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

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

mysql -u root -p หากคุณลืมรหัสผ่านรูทของ MySQL คุณสามารถรีเซ็ตได้โดยทำตามคำแนะนำเหล่านี้

แสดงผู้ใช้งาน MySQL ทั้งหมด

MySQL จัดเก็บข้อมูลเกี่ยวกับผู้ใช้ในตารางชื่อ user ในฐานข้อมูล mysql

ในการรับรายการบัญชีผู้ใช้ MySQL ทั้งหมดให้ใช้คำสั่ง SELECT เพื่อดึงข้อมูลแถวทั้งหมดจากตาราง mysql.users :

SELECT User, Host FROM mysql.user;

ผลลัพธ์ควรมีลักษณะคล้ายกับด้านล่าง:

+------------------+-----------+ | user | host | +------------------+-----------+ | root | localhost | | luke | % | | yoda | % | | jabba | 10.10.0.6 | | jabba | 10.10.0.9 | | chewbacca | localhost | | leia | localhost | | han | localhost | +------------------+-----------+ 8 rows in set (0.00 sec)

คำสั่งด้านบนแสดงเพียงสองคอลัมน์จากตาราง mysql.user ( User และ Host ), ตารางนี้มีมากกว่า 40 คอลัมน์เช่น Password , Select_priv , Update_priv ฯลฯ

บัญชีผู้ใช้ใน MySQL ประกอบด้วยสองส่วนคือชื่อผู้ใช้และชื่อโฮสต์

ใช้ desc mysql.user; คำสั่งเพื่อแสดงข้อมูลเกี่ยวกับคอลัมน์ของตาราง เมื่อคุณทราบชื่อคอลัมน์แล้วคุณสามารถเรียกใช้แบบสอบถามกับข้อมูลที่เลือกได้

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

SELECT User, Host, Password, password_expired FROM mysql.user;

+----------------+-----------+-------------------------------------------+------------------+ | User | Host | Password | password_expired | +----------------+-----------+-------------------------------------------+------------------+ | root | localhost | | N | | luke | % | *ADC3B5B27617732CD6320A2DA976258E149A7EC8 | N | | yoda | % | *9550E004046348198A143A115550E1262209FB6F | N | | jabba | 10.10.0.6 | *F91C86B486B945C083B61A05FF6E197560D187EC | Y | | jabba | 10.10.0.9 | | Y | | chewbacca | localhost | *17F2B1E48029294841AD66772BEBB7E6E6A005AF | N | | leia | localhost | *74409C8DB55AC1A6829D801915981C46EDBFC64A | N | | han | localhost | *7B3022FCAEC3534CE67C68322D8AF0C240D95745 | N | +----------------+-----------+-------------------------------------------+------------------+ 8 rows in set (0.00 sec)

แสดงผู้ใช้ที่สามารถเข้าถึงฐานข้อมูลเฉพาะได้

ข้อมูลเกี่ยวกับสิทธิ์ระดับฐานข้อมูลจะถูกเก็บไว้ในตาราง mysql.db

คุณสามารถสืบค้นตารางเพื่อค้นหาว่าผู้ใช้รายใดมีสิทธิ์เข้าถึงฐานข้อมูลที่ระบุและระดับสิทธิ์

ตัวอย่างเช่นในการรับรายการผู้ใช้ทั้งหมดที่มีการเข้าถึงระดับฐานข้อมูลชื่อ db_name คุณจะต้องใช้แบบสอบถามต่อไปนี้:

SELECT * FROM mysql.db WHERE Db = 'db_name'\G;

*************************** 1. row *************************** Host: localhost Db: db_name User: db_user Select_priv: Y Insert_priv: Y Update_priv: Y Delete_priv: Y Create_priv: Y Drop_priv: Y Grant_priv: N References_priv: Y Index_priv: Y Alter_priv: Y Create_tmp_table_priv: Y Lock_tables_priv: Y Create_view_priv: Y Show_view_priv: Y Create_routine_priv: Y Alter_routine_priv: Y Execute_priv: Y Event_priv: Y Trigger_priv: Y 1 row in set (0.00 sec)

ในการดึงข้อมูลเกี่ยวกับบัญชีผู้ใช้ที่สามารถเข้าถึงฐานข้อมูลที่กำหนดได้โดยไม่ต้องแสดงสิทธิ์ใช้:

SELECT db, host, user FROM mysql.db WHERE db = 'db_name'

+---------+-----------+---------+ | db | host | user | +---------+-----------+---------+ | db_name | localhost | db_user | +---------+-----------+---------+

แบบสอบถามต่อไปนี้จะแสดงข้อมูลเกี่ยวกับฐานข้อมูลทั้งหมดและผู้ใช้ที่เกี่ยวข้อง:

SELECT db, host, user FROM mysql.db WHERE db = 'db_name'

+------------------+-----------+-----------+ | db | host | user | +------------------+-----------+-----------+ | db_name | localhost | db_user | | ghost_production | localhost | chewbacca | | blog_db | localhost | leia | | linuxize | localhost | han | +------------------+-----------+-----------+

ข้อสรุป

ในบทช่วยสอนนี้เราได้แสดงวิธีรับรายการผู้ใช้ MySQL ทั้งหมดและค้นหาว่าผู้ใช้รายใดที่สามารถเข้าถึงฐานข้อมูลเฉพาะ

อย่าลังเลที่จะแสดงความคิดเห็นหากคุณมีคำถามใด ๆ

mysql mariadb