Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에 UNIX의 whoami처럼 현재 사용자를 확인하는 명령어가 있을까요?

MySQL에는 UNIX 시스템에서 현재 사용자를 확인하는 whoami와 같은 전용 함수가 존재하지 않습니다. 하지만 걱정하지 않으셔도 됩니다. MySQL에서는 동일한 목적으로 USER() 또는 CURRENT_USER() 함수를 사용하면 됩니다.

MySQL 버전 확인

먼저 이 글에서 사용된 MySQL 버전은 다음과 같습니다.

+-----------+
| version() |
+-----------+
| 8.0.12    |
+-----------+
1 row in set (0.00 sec)

방법 1: CURRENT_USER() 함수 사용하기

현재 접속 중인 사용자를 확인하려면 아래와 같이 CURRENT_USER() 함수를 실행합니다.

mysql> select current_user();

실행 결과는 다음과 같습니다.

+----------------+
| current_user() |
+----------------+
| root@%         |
+----------------+
1 row in set (0.00 sec)

방법 2: USER() 함수 사용하기

같은 목적으로 USER() 함수를 사용할 수도 있습니다. 쿼리는 다음과 같습니다.

mysql> select user();

실행 결과는 다음과 같습니다.

+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

두 함수의 차이점

USER()CURRENT_USER()는 비슷해 보이지만 반환 값에 차이가 있습니다. USER()는 클라이언트가 실제로 로그인할 때 지정한 사용자와 호스트를 반환하고, CURRENT_USER()는 서버가 인증에 사용한 계정 정보를 반환합니다. 위 예제에서도 root@%root@localhost처럼 결과가 다르게 표시되는 것을 확인할 수 있습니다.