MySQL 저장 프로시저 및 트리거를 백업/복원하는 방법

MySQL 저장 프로시저 및 트리거를 백업/복원하는 방법

2022-10-18 last update

4 minutes reading stored procedures MySQL triggers
저장 프로시저와 트리거는 MySQL 5.0에서 처음 도입되었습니다. 따라서 여전히 이전 버전의 MySQL을 사용하는 경우 이러한 기능을 사용하려면 MySQL 5.0 이상 버전으로 업그레이드하십시오. 이 문서에서는 mysqldump 명령을 사용하여 저장 프로시저 및 트리거 덤프를 만드는 방법에 대해 설명합니다.

저장 프로시저란 무엇입니까?

A stored procedure, by definition, is a segment of declarative SQL code that is stored in the database catalog and can be invoked later by a program, a trigger, or even a stored procedure.

트리거란 무엇입니까?

Triggers are event-driven specialized procedures, they are stored in and managed by the database. A trigger is a SQL procedure that initiates an action on an event (Like INSERT, DELETE or UPDATE) occurs.

단순히 mysqldump를 실행하면 자동으로 트리거를 백업하지만 기본적으로 저장 프로시저를 백업하지는 않습니다.

백업 저장 프로시저 및 루틴

데이터 및 테이블이 있는 저장 프로시저의 백업을 수행하려면 --routines를 지정해야 합니다. 다음 명령은 저장 프로시저를 포함하여 전체 데이터베이스의 백업을 생성합니다. 예를 들어, 데이터베이스 이름은 "mydb"입니다.
mysqldump -u root -p --routines mydb > mydb.sql 
저장 프로시저 및 트리거(테이블 구조 및 데이터 제외)만 백업하려면 다음 명령을 사용하십시오.
mysqldump --routines --no-create-info --no-data --no-create-db --skip-opt mydb > mydb.sql 

복원 절차

데이터베이스의 저장 프로시저를 복원하려면 다음 명령을 사용하기만 하면 됩니다. 그러나 데이터 손실을 방지하려면 복원하기 전에 백업을 제대로 수행했는지 확인하십시오.
mysql -u root -p mydb < mydb.sql 
참조: Stored Procedures , Triggers