source

mysql에서 현재 사용자 이름을 알 수 있는 방법이 있나요?

nicesource 2022. 11. 24. 20:40
반응형

mysql에서 현재 사용자 이름을 알 수 있는 방법이 있나요?

mysql 쿼리에서 쿼리를 발행한 사용자의 사용자 이름을 반환하는 방법이 있는지 알고 싶습니다.

이게 가능합니까?

둘 중 하나를 실행해 보십시오.

SELECT USER();

또는

SELECT CURRENT_USER();

다른 경우도 있습니다.USER()는 인증을 시도한 로그인을 반환하고 CURRENT_USER()는 인증이 실제로 허용된 방법을 반환합니다.

시험해 보다CURRENT_USER()기능.MySQL이 클라이언트 연결을 인증하기 위해 사용한 사용자 이름을 반환합니다.권한을 결정하는 것은 이 사용자 이름입니다.

이것은 클라이언트가 MySQL로 전송한 사용자 이름과 다를 수 있습니다(예를 들어 MySQL은 사용자가 사용자 이름을 보냈더라도 익명 계정을 사용하여 클라이언트를 인증할 수 있습니다).접속시에 클라이언트가 MySQL 에 송신하는 유저명을 사용하는 경우는,USER()기능을 합니다.

이 값은 서버 연결 시 지정한 사용자 이름과 연결 원본 클라이언트 호스트를 나타냅니다.이 값은 CURRENT_USER()의 값과 다를 수 있습니다.

http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_current-user

다음 쿼리를 사용합니다.

SELECT USER();

또는

SELECT CURRENT_USER;

다음을 사용할 수 있습니다.

SELECT USER();

또는

SELECT CURRENT_USER();

자세한 것은, http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_current-user 를 참조해 주세요.

데이터베이스를 사용하는 현재 사용자를 인쇄하려면

select user();

또는

select current_user();

mysql > select user, host from mysql.user 를 사용할 수도 있습니다.

+---------------+-------------------------------+
| user          | host                          |
+---------------+-------------------------------+
| fkernel       | %                             |
| nagios        | %                             |
| readonly      | %                             |
| replicant     | %                             |
| reporting     | %                             |
| reporting_ro  | %                             |
| nagios        | xx.xx.xx.xx                 |
| haproxy_root  | xx.xx.xx.xx
| root          | 127.0.0.1                     |
| nagios        | localhost                     |
| root          | localhost                     |
+---------------+-------------------------------+

현재 사용자 이름은 CURRENT_USER() 함수로 MySQL에서 확인할 수 있습니다.

예:SELECT CURRENT_USER();

그렇지만CURRENT_USER()는 로그인한 사용자를 항상 반환하지 않습니다.로그인한 사용자를 원할 경우,SESSION_USER()대신.

이러한 기능이 필요해서 CURRENT_USER()를 사용했는데, 데이터베이스 접속 시 쿼리 사용자 이름을 변경해도 모든 쿼리에서 동일한 글로벌 관리 사용자를 얻을 수 있었습니다.분명히 그것은 내가 찾고 있던 사용 예에서는 쓸모가 없다.그 후 USER()를 사용하여 쿼리를 시작한 연결 문자열의 사용자 이름을 알 수 있습니다.질문을 이해했다면 그 사람이 원하는 것은 평이한 언어입니다.제 경우 트랜잭션 테이블의 행에 대한 변경 사항을 추적하는 트리거에 이 기능을 사용했습니다.

언급URL : https://stackoverflow.com/questions/19350275/is-there-a-way-to-know-your-current-username-in-mysql

반응형