MySQL에서 로그인 한 사용자를 어떻게 확인할 수 있습니까?


34

여러 텍스트 콘솔 세션을 열고 다른 사용자로 다른 콘솔에 로그인했습니다. 어떤 콘솔이 어떤 사용자에게 속하는지 잊고 다시 종료 할 필요가 없습니다.

어떤 사용자로 로그인했는지 어떻게 알 수 있습니까?

로그 아웃 한 상태에서 로그인 한 사용자를 변경하는 방법이 있습니까?

답변:


42

실제로, 당신은 두 가지 기능을 사용해야합니다

SELECT USER(),CURRENT_USER();

USER () 는 MySQL에서 인증을 시도한 방법을보고합니다

CURRENT_USER () 는 MySQL에서 인증이 허용 된 방법을보고합니다

때때로, 그들은 다릅니다


예. 사용자가 존재하지 않는 mysql -ulalala곳을 통해 mysql 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 for SHOW GRANTS, 수많은 Mysql Tutorials를 읽었을 때 넘어지지 않은 이상합니다.
Dimitry K

2

user () 함수를 찾았습니다

사용자 선택 (); 로그인 한 사용자를 보여줍니다.


그 링크는 여전히 당신을 위해 작동합니까? mysql-> oracle breakage 때문에 Google 캐시에 연결하기로 결정했습니다.
Pricey

작동하지만 다른 흥미로운 기능을 가지고 있으며 select database (); 현재 선택한 데이터베이스가 표시됩니다.
nelaaro

정말 성가시다. 왜 그것이 효과가 없는지 궁금하다. 감사.
Pricey




0

'상태'를 사용할 수 있습니다 :

MariaDB [my_database]> 상태

현재 사용자 : root @ localhost

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.