본문으로 건너뛰기

MySQL에서 procedure와 function을 백업하려면 어떻게 해야 하나요?

💡 요약 정리

  • MySQL 백업은 기본적으로 mysqldump 명령을 사용합니다
  • 기본 mysqldump는 trigger는 백업하지만 procedure와 function은 백업하지 않습니다
  • --routines 옵션 사용 시 procedure와 function까지 모두 백업됩니다
  • procedure/function/trigger만 백업하려면 --no-create-info --no-data 옵션을 사용합니다

MySQL에서 기본적으로 DUMP를 하기 위해서는 mysqldump를 사용합니다.

[root@localhost ~]# mysqldump
Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
[root@localhost ~]# mysqldump [옵션] dbname > 백업할 파일이름

이렇게 하면 trigger는 백업이 되지만 stored procedure와 function은 백업이 되지 않습니다.

-routines - FALSE by default  , -triggers - TRUE by default
[root@localhost ~]# mysqldump --help | grep rou
The following groups are read: mysqldump client
  --add-locks         Add locks around INSERT statements.
  -R, --routines      Dump stored routines (functions and procedures).
  routines                          FALSE

procedure와 function 까지 모두 백업하는 방법

다음과 같이 사용해야합니다.

[root@localhost ~]# mysqldump --routines -u유저이름 -p패스워드 디비이름 > 백업할 파일이름

procedure function trigger만 백업하는 방법

[root@tvpbackup-001 ~]#  mysqldump --routines --no-create-info --no-data --no-create-db --skip-opt 데이터베이스이름 > 백업할 파일이름

문제가 해결되지 않았나요?

궁금하신 사항은 언제든지 1:1 문의게시판으로 문의해 주세요.

문의 시 포함 정보:

  • 카페24 아이디
  • 서비스 ID: 서버호스팅 서비스 ID
  • 서버 OS: CentOS / Ubuntu 등
  • MySQL 버전: mysql --version 명령 실행 결과
  • 백업 명령: 사용한 mysqldump 명령어
  • 에러 메시지: 백업 실행 시 발생한 에러
  • 문의 내용: MySQL 백업 관련 문의 사항