[Tools] DB Admin 계정의 필수 권한
- 1 DB 계정의 권한을 확인하는 방법
- 2 필수 권한
- 2.1 주의사항
- 2.2 Migration 실행 시
- 2.3 license 부여 시
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)에 따라 필요한 권한들을 안내합니다.
주의사항
querypie-tools-1를 실행하기 위해서는 CREATE, SELECT 권한 필요
해당 권한이 없는 경우 아래의 에러로그와 함께 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'
ROUTINE
,EXECUTE
등 특정 권한들은 전역 범위 (*.*
)에서만 부여될 수 있으며, ALL PRIVILEGES에 포함되지 않을 수 있습니다.// 이 경우에는 CREATE ROUTINE 권한은 포함되지 않습니다. GRANT ALL PRIVILEGES ON database_name.* TO 'user'@'host';
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 |