MariaDB 사용자 권한 부여 및 제거 방법

MariaDB 사용자 권한 부여 및 제거 방법

MariaDB에서 사용자에게 데이터베이스 접근 권한을 부여하고 제거하는 것은 데이터베이스 보안과 관리의 핵심적인 부분입니다. 올바른 권한 설정은 시스템의 보안을 유지하고, 필요한 사용자만이 특정 데이터에 접근할 수 있도록 보장합니다.

사용자 권한 부여

특정 사용자에게 데이터베이스의 권한을 부여하는 것은 간단한 SQL 명령어를 통해 이루어집니다. 예를 들어, 사용자 ‘user1’에게 ‘school’ 데이터베이스에 대한 SELECT, INSERT, UPDATE 권한을 부여하려면 다음 명령어를 사용합니다:

GRANT SELECT, INSERT, UPDATE ON school.* TO 'user1'@'localhost';

이 명령어는 ‘user1’ 사용자가 ‘school’ 데이터베이스의 모든 테이블에서 데이터를 조회, 삽입, 업데이트할 수 있는 권한을 부여합니다.

사용자별 권한 확인

부여된 권한을 확인하려면 SHOW GRANTS 명령어를 사용합니다. 특정 사용자에 대한 권한을 보려면 다음 명령을 실행하세요.

SHOW GRANTS FOR 'user1'@'localhost';

이 명령은 ‘user1’ 사용자에게 부여된 모든 권한을 보여줍니다. 이를 통해 어떤 데이터베이스와 테이블에 대한 어떤 권한이 있는지 정확히 알 수 있습니다.

MariaDB 사용자 권한 부여 및 사용자별 권한 확인 예시

전체 사용자 권한 확인

데이터베이스 내 모든 사용자의 권한을 검토하려면 mysql.db 테이블에서 정보를 조회할 수 있습니다. 이 테이블은 각 사용자의 데이터베이스별 권한을 포함하고 있습니다. 전체 사용자 권한을 확인하려면 다음과 같은 쿼리를 사용할 수 있습니다.

SELECT * FROM mysql.db;

이 쿼리는 각 사용자의 데이터베이스 권한을 전체적으로 보여줍니다. 보다 세부적인 정보를 원한다면, 다음 쿼리를 사용하여 특정 권한이 부여된 상태를 확인할 수 있습니다.

SELECT user, host, Db, Select_priv, Insert_priv, Update_priv, Delete_priv, Execute_priv FROM mysql.db;

위 쿼리는 각 사용자에 대해 SELECT, INSERT, UPDATE, DELETE, EXECUTE 권한의 부여 여부를 ‘Y’ 또는 ‘N’으로 표시하여 제공합니다. 이를 통해 데이터베이스 관리자는 사용자별로 어떤 데이터베이스에 어떤 권한이 부여되었는지 명확하게 파악할 수 있습니다.

MariaDB 전체 사용자 권한 확인 예시

사용자 권한 제거

사용자의 권한을 제거할 때는 REVOKE 명령어를 사용합니다. 예를 들어, ‘user1’에서 ‘school’ 데이터베이스의 UPDATE 권한을 제거하려면 다음과 같이 명령어를 사용합니다.

REVOKE UPDATE ON school.* FROM 'user1'@'localhost';

이 명령은 ‘user1’ 사용자의 ‘school’ 데이터베이스에 대한 UPDATE 권한만 제거합니다.

사용자의 모든 권한을 제거하려면, 다음과 같이 명령어를 사용합니다.

REVOKE ALL PRIVILEGES ON school.* FROM 'user1'@'localhost';

참고 사이트

사용자 권한을 부여하고 제거하는 과정에 대한 더 자세한 정보는 MariaDB 공식 문서에서 찾아볼 수 있습니다.

관련 이전 게시글

이 글이 도움이 되셨다면 공유 부탁 드립니다.

위로 스크롤