Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Có hàm/command 'whoami' trong MySQL như UNIX không?

KHÔNG có hàm whoami() trong MySQL. Thay vào đó dùng 2 hàm nội đặt:

1. CURRENT_USER()

Trả về tài khoản được xác thực (authentication context) - user@host theo định nghĩa grant.

SELECT CURRENT_USER();
+----------------+
| current_user() |
+----------------+
| root@%         |
+----------------+

2. USER()

Trả về tài khoản client kết nối thực tế (có thể khác nếu proxy user).

SELECT USER();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+

Khác biệt:

  • CURRENT_USER(): User mà server dùng để kiểm tra quyền (definer context).
  • USER(): User client gửi trong handshake.
  • Khác nhau khi dùng proxy authentication hoặc DEFINER trong stored routine/view.

VERSION() cũng hữu ích để biết phiên bản MySQL đang chạy.