반응형
Ant_U
DBA 개미
Ant_U
전체 방문자
오늘
어제
  • 분류 전체보기 (262)
    • AWS (3)
    • C# (1)
    • SQL (236)
      • MYSQL (186)
      • MSSQL (50)
    • 자격증 (20)
      • SQLD (12)
      • SQLP (8)

인기 글

최근 글

250x250
hELLO · Designed By 정상우.
Ant_U

DBA 개미

[MySQL] SHOW CREATE TRIGGER 사용법과 실무 활용 가이드
SQL/MYSQL

[MySQL] SHOW CREATE TRIGGER 사용법과 실무 활용 가이드

2025. 7. 3. 15:28
728x90
반응형

 

 

MySQL에서 SHOW CREATE TRIGGER를 알아야 하는 이유

MySQL을 사용하다 보면 데이터 무결성을 위해 **트리거(Trigger)**를 작성할 일이 자주 생깁니다. 그런데 트리거를 만들고 나면 나중에 구조를 다시 확인하거나 백업, 마이그레이션할 때 정확한 생성 SQL문을 확인하는 방법이 필요하죠. 이때 SHOW CREATE TRIGGER 문이 큰 도움이 됩니다.


SHOW CREATE TRIGGER 기본 사용법

SHOW CREATE TRIGGER 문은 특정 트리거의 생성 스크립트를 그대로 보여줍니다.
기본 문법은 아래와 같습니다.

SHOW CREATE TRIGGER [트리거_이름];

예를 들어, user_insert_trigger라는 트리거의 생성 SQL을 보고 싶다면 다음과 같이 실행하면 됩니다.

SHOW CREATE TRIGGER user_insert_trigger;

실행 결과에는 트리거 이름, 이벤트(BEFORE INSERT 등), 테이블, 실행 시점, 그리고 실제 BEGIN ... END 블록 등 작성 당시의 구문이 그대로 출력됩니다.
이 결과는 트리거를 다른 데이터베이스로 이관하거나 재생성할 때 유용하게 쓰입니다.


실무에서 자주 쓰이는 활용 시나리오

1. 트리거 백업 및 마이그레이션

서버를 이전하거나 테스트 환경으로 복제할 때, 트리거는 mysqldump로 덤프할 수도 있지만, 수동으로 재생성해야 할 때가 있습니다.
이때 SHOW CREATE TRIGGER로 스크립트를 확인한 뒤 CREATE TRIGGER 구문 그대로 실행하면 됩니다.

2. 트리거 디버깅

예상치 못한 데이터 변경이 발생했을 때, 어떤 트리거가 실행되었는지 확인하려면 information_schema.TRIGGERS 테이블로 목록을 확인하고
SHOW CREATE TRIGGER로 상세 내용을 살펴보는 것이 좋습니다.

3. 권한 관련 주의사항

SHOW CREATE TRIGGER를 사용하려면 해당 데이터베이스에 대한 TRIGGER 권한이 필요합니다.
권한이 없으면 오류가 발생하므로 아래처럼 권한을 부여해야 합니다.

GRANT TRIGGER ON database.* TO 'user'@'host';

MySQL 버전별 동작 차이

MySQL 5.1부터는 트리거가 information_schema에 저장되어 관리가 쉬워졌고,
SHOW CREATE TRIGGER도 동일한 정보를 더 읽기 좋게 출력해줍니다.

특히 MySQL 8.0에서는 트리거의 DEFINER 정보와 캐릭터셋 정보가 추가로 출력됩니다.
이는 보안이나 사용자 권한 관리 측면에서 중요할 수 있으니, 트리거를 다른 환경으로 옮길 때 DEFINER를 그대로 쓸지 변경할지 꼭 검토해야 합니다.


결론과 실무 팁

SHOW CREATE TRIGGER 문은 복잡한 트리거를 관리할 때 꼭 알아두면 좋은 기본 도구입니다.
핵심 포인트를 다시 정리하면 다음과 같습니다.

  • 정확한 트리거 생성 스크립트를 쉽게 확인하고 재사용할 수 있다.
  • TRIGGER 권한이 없으면 실행할 수 없으므로 권한 설정을 체크해야 한다.
  • MySQL 버전에 따라 DEFINER와 캐릭터셋 정보 등 추가 요소를 주의해야 한다.

실무에서는 주기적으로 트리거를 SHOW CREATE TRIGGER로 덤프해두면 문제가 발생했을 때 신속히 복구할 수 있습니다.


공식 문서 바로가기

  • MySQL 8.0 Reference Manual - SHOW CREATE TRIGGER

 

728x90
반응형

'SQL > MYSQL' 카테고리의 다른 글

[MySQL] SHOW DATABASES 사용법과 실무 활용 가이드  (0) 2025.07.06
[MySQL] SHOW CREATE VIEW 사용법 완벽 가이드: 뷰(View) 정의 쉽게 확인하기  (0) 2025.07.05
[MySQL] SHOW CREATE USER 사용법 완벽 가이드: 사용자 계정 관리 쉽게 하기  (0) 2025.07.04
[MySQL] SHOW CREATE TABLE 문 완벽 가이드: 테이블 구조 확인과 백업에 필수  (0) 2025.07.02
[MySQL] SHOW CREATE PROCEDURE 사용법: 저장 프로시저 정의 쉽게 확인하기  (0) 2025.06.30
[MySQL] SHOW CREATE FUNCTION 문 설명: 함수 정의 SQL 확인하기  (0) 2025.06.29
[MySQL] SHOW CREATE EVENT 문 설명: 이벤트 정의 SQL 보기  (0) 2025.06.29
[MySQL] SHOW CREATE DATABASE 문 설명: 데이터베이스 생성 SQL 확인하기  (0) 2025.06.28
    'SQL/MYSQL' 카테고리의 다른 글
    • [MySQL] SHOW CREATE VIEW 사용법 완벽 가이드: 뷰(View) 정의 쉽게 확인하기
    • [MySQL] SHOW CREATE USER 사용법 완벽 가이드: 사용자 계정 관리 쉽게 하기
    • [MySQL] SHOW CREATE TABLE 문 완벽 가이드: 테이블 구조 확인과 백업에 필수
    • [MySQL] SHOW CREATE PROCEDURE 사용법: 저장 프로시저 정의 쉽게 확인하기
    Ant_U
    Ant_U

    티스토리툴바