ฉันจะดูผู้ใช้ที่ฉันเข้าสู่ระบบได้อย่างไรใน MySQL


34

ฉันเปิดเซสชันคอนโซลข้อความหลายรายการและลงชื่อเข้าใช้ด้วยชื่อผู้ใช้ที่แตกต่างกันในคอนโซลที่แตกต่างกัน ฉันลืมหลังจากที่คอนโซลเป็นของผู้ใช้มันจะดีที่ไม่ต้องออกจากและเข้าสู่ระบบกลับ

ฉันจะดูผู้ใช้ที่ฉันเข้าสู่ระบบได้อย่างไร?

มีวิธีในการเปลี่ยนผู้ใช้ที่ฉันเข้าสู่ระบบเช่นเดียวกับการออกจากระบบหรือไม่?

คำตอบ:


42

จริงๆแล้วคุณต้องใช้สองฟังก์ชั่น

SELECT USER(),CURRENT_USER();

USER ()รายงานว่าคุณพยายามตรวจสอบสิทธิ์ใน MySQL อย่างไร

CURRENT_USER ()รายงานว่าคุณได้รับอนุญาตให้ตรวจสอบสิทธิ์ใน MySQL ได้อย่างไร

บางครั้งก็แตกต่างกัน


เช่น. ถ้าคุณเข้าสู่ระบบเพื่อ MySQL ผ่านmysql -ulalalaที่lalalaผู้ใช้ไม่ได้อยู่ที่คุณจะได้รับอนุญาตให้เข้าสู่ระบบในฐานะผู้ใช้ MySQL 'ที่ไม่ระบุชื่อ' ''@'localhost'คือ ในกรณีนี้ผลตอบแทนของการทำงานจะเป็น USER()= lalala@localhostและCURRENT_USER() = @localhost
Dimitry K

2
@DimitryK เมื่อสิ่งนั้นเกิดขึ้นคุณสามารถเรียกใช้SHOW GRANTS;เพื่อดูว่าคุณมีสิทธิ์ใด แม้ว่าคุณจะไม่เห็นอะไรเลยนอกจากUSAGEนี้คุณยังต้องระวังว่าฐานข้อมูลทดสอบบางอย่างสามารถเข้าถึงได้โดยผู้ใช้ที่ไม่ระบุชื่อ 100% ดูโพสต์ของฉันMySQL : Why are there “test” entries in mysql.db?( dba.stackexchange.com/q/13361/877 )
RolandoMySQLDBA

+1 สำหรับSHOW GRANTSแปลกที่ฉันไม่ได้ stumbled แต่อ่าน Mysql Tutorials มากมาย
Dimitry K

2

ฉันพบผู้ใช้นี้() ฟังก์ชั่น

เลือกผู้ใช้ (); จะแสดงให้คุณเห็นว่าผู้ใช้คนใดเข้าสู่ระบบ


ลิงก์นั้นใช้ได้กับคุณหรือไม่? ฉันตัดสินใจที่จะเชื่อมโยงไปยังแคชของ google เนื่องจาก mysql -> oracle breakage
แพ่งราคา

มันใช้งานได้มีฟังก์ชั่นที่น่าสนใจอื่น ๆ เช่นกันเลือกฐานข้อมูล (); จะแสดงฐานข้อมูลที่คุณเลือกในปัจจุบัน
nelaaro

มันน่ารำคาญจริง ๆ ฉันสงสัยว่าทำไมมันไม่ได้ผลสำหรับฉัน ขอบคุณ
แพ่งราคา


ไม่ส่งฉันไปที่search.oracle.com/search/…
ราคาแพง


0

คุณสามารถใช้ 'สถานะ':

MariaDB [my_database]> สถานะ

ผู้ใช้ปัจจุบัน: root @ localhost

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.