본문 바로가기
프로그래밍/Database

현재 DB 접근권한이 있는 사용자 계정 확인하는 명령어

by 노마드데이터랩 2023. 3. 31.
728x90
반응형

MySQL에서 현재 데이터베이스에 접근할 수 있는 사용자 계정을 확인하는 방법에 대해 알아보겠습니다. 이 기능을 이용하면, 어떤 사용자가 현재 데이터베이스에 접근할 수 있는지 확인할 수 있습니다.

1. MySQL에 root 권한으로 로그인합니다.

2. 다음 명령어를 사용하여 현재 데이터베이스에 접근할 수 있는 모든 사용자 계정을 확인합니다.

SELECT user, host FROM mysql.user;

위 명령어를 실행하면, "user" 열에는 사용자 이름, "host" 열에는 해당 사용자가 접근할 수 있는 호스트 이름 또는 IP 주소가 표시됩니다.

만약, 특정 데이터베이스에 대한 접근 권한만을 가진 사용자를 확인하고 싶다면, 다음과 같은 명령어를 실행합니다.

SELECT user, host FROM mysql.db WHERE db = 'database_name';

위 명령어를 실행하면, "user" 열에는 해당 데이터베이스에 대한 권한을 가진 사용자 이름, "host" 열에는 해당 사용자가 접근할 수 있는 호스트 이름 또는 IP 주소가 표시됩니다.

위와 같은 방법으로 MySQL에서 현재 데이터베이스에 접근할 수 있는 사용자 계정을 확인할 수 있습니다. 이 기능을 사용하면 데이터베이스에 대한 접근 권한을 확인하고, 보안 상의 이슈를 해결할 수 있습니다.

 

host가 %로 나오는 계정?

MySQL에서 host 열이 "%"로 표시된 사용자 계정은 "wildcard" 호스트를 나타냅니다. 이는 해당 사용자 계정이 어떤 호스트에서든 접근이 가능하다는 것을 의미합니다. "%" 기호는 모든 호스트를 나타내며, 이를 통해 모든 IP 주소 및 호스트 이름에서 해당 사용자 계정에 접근할 수 있습니다.

예를 들어, 사용자 이름이 "user1"이고 호스트가 "%"인 경우, "user1" 사용자는 모든 호스트에서 해당 데이터베이스에 액세스할 수 있습니다. 반면에, 특정 IP 주소나 호스트 이름으로 제한된 경우, 해당 사용자는 제한된 호스트에서만 데이터베이스에 액세스할 수 있습니다.

이러한 wildcard 호스트를 사용하는 것은 보안상의 이유로 권장되지 않습니다. wildcard 호스트는 모든 IP 주소나 호스트 이름에서 액세스를 허용하므로, 불필요한 보안 위협을 초래할 수 있습니다. 따라서, 보안을 강화하기 위해서는 wildcard 호스트 대신에 특정 호스트 또는 IP 주소에서만 액세스가 가능하도록 설정하는 것이 좋습니다.

2023.03.31 - [프로그래밍/Database] - MySQL에서 사용자에게 wildcard 호스트 권한 부여하는 방법

 

728x90
반응형

댓글