[Tools] DB Admin 계정의 필수 권한

[Tools] DB Admin 계정의 필수 권한

 

 

Tools에서 사용하는 권한은 compose-env 내 환경변수로 설정한 계정을 사용합니다. DB_TOOLS_ 키워드가 포함된 환경변수를 참조하세요.

DB_TOOLS_USERNAME= DB_TOOLS_PASSWORD=

DB 계정의 권한을 확인하는 방법

QueryPie Tools 가 사용하는 DB 계정의 권한을 확인합니다. 일반적으로, querypie 라는 USERNAME 을 갖는 계정을 사용합니다. 그러나, 다른 이름의 DB 계정을 사용할 수 있습니다. 아래 SQL 의 querypie 부분을, 실제 DB 계정에 따라 변경하여 사용하시기 바랍니다.

show grants for 'querypie'@'%';
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Grants for querypie@% | +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO `querypie`@`%` | | GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, CREATE TEMPORARY TABLES, DROP, REFERENCES, INDEX, ALTER, EXECUTE, CREATE ROUTINE, ALTER ROUTINE ON `querypie`.* TO `querypie`@`%` | | GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, EXECUTE, CREATE ROUTINE, ALTER ROUTINE ON `querypie_log`.* TO `querypie`@`%` | | GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, EXECUTE, CREATE ROUTINE, ALTER ROUTINE ON `querypie_snapshot`.* TO `querypie`@`%` | +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

 

필수 권한

  • Tools를 실행하는 목적(Migration, License)에 따라 필요한 권한들을 안내합니다.

주의사항

  1. querypie-tools-1를 실행하기 위해서는 CREATE, SELECT 권한 필요

    1. 해당 권한이 없는 경우 아래의 에러로그와 함께 Tools가 실행되지 않습니다.

      2025-02-26T08:27:20.058Z WARN 1 --- [querypie-tools] [ main] o.m.jdbc.message.server.ErrorPacket : Error: 1142-42000: CREATE command denied to user 'querypie123'@'ip-172-18-0-2.ap-northeast-2.compute.internal' for table 'flyway_schema_history'
      Caused by: java.sql.SQLSyntaxErrorException: (conn=103) SELECT command denied to user 'querypie123'@'ip-172-18-0-2.ap-northeast-2.compute.internal' d for table 'data_encryption_keys'
  1. ROUTINE, EXECUTE 등 특정 권한들은 전역 범위 (*.*)에서만 부여될 수 있으며, ALL PRIVILEGES에 포함되지 않을 수 있습니다.

    // 이 경우에는 CREATE ROUTINE 권한은 포함되지 않습니다. GRANT ALL PRIVILEGES ON database_name.* TO 'user'@'host';
  2. Tools 실행 후 권한을 변경하였다면, 필히 Tools 재시작이 필요합니다.

Migration 실행 시

Privilege

Grant Table Column

Context

ALTER

Alter_priv

Tables

ALTER ROUTINE

Alter_routine_priv

Stored routines

CREATE

Create_priv

Databases, tables, or indexes

CREATE TEMPORARY TABLES

Create_tmp_table_priv

Tables

CREATE VIEW

Create_view_priv

Views

CREATE ROUTINE

Create_routine_priv

Stored routines

DELETE

Delete_priv

Tables

DROP

Drop_priv

Databases, tables, or views

EXECUTE

Execute_priv

Stored routines

INDEX

Index_priv

Tables

INSERT

Insert_priv

Tables or columns

PROCESS

Process_priv

Server administration

RELOAD

Reload_priv

Server administration

SELECT

Select_priv

Tables or columns

SHOW DATABASES

Show_db_priv

Server administration

SHOW VIEW

Show_view_priv

Views

UPDATE

Update_priv

Tables or columns

license 부여 시

Privilege

Grant Table Column

Context

CREATE

Create_priv

Databases, tables, or indexes

SELECT

Select_priv

Tables or columns

INSERT

Insert_priv

Tables or columns

UPDATE

Update_priv

Tables or columns