Development Tip

트리거 및 절차로 MySQL 데이터베이스를 내보내는 방법은 무엇입니까?

yourdevel 2020. 10. 21. 21:46
반응형

트리거 및 절차로 MySQL 데이터베이스를 내보내는 방법은 무엇입니까?


모든 트리거 및 프로 시저와 함께 mysql 데이터베이스를 내보내거나 덤프하는 방법.


mysqldump에 의해 의지 백업 기본 모든 트리거 하지만 NOT 저장 프로 시저 / 함수 . 이 동작을 제어하는 ​​2 개의 mysqldump 매개 변수가 있습니다.

  • --routines – 기본적으로 FALSE
  • --triggers – 기본적으로 TRUE

그래서 mysqldump명령에서 다음 --routines과 같이 추가하십시오 .

mysqldump <other mysqldump options> --routines > outputfile.sql

이 기사에서 더 많은 것을 읽으십시오


MYSQL의 전문 사용자에게는 분명 할 수 있지만 기본값이 기능을 내 보내지 않는지 알아내는 동안 시간을 ​​낭비했습니다. 그래서 여기에서 --routines param이 작동하려면 true로 설정되어야 한다고 언급 하려고했습니다.

mysqldump --routines=true -u <user> my_database > my_database.sql

다음 스크립트를 만들었고 잘 작동했습니다.

#! /bin/sh
cd $(dirname $0)
DB=$1
DBUSER=$2
DBPASSWD=$3
FILE=$DB-$(date +%F).sql
mysqldump --routines "--user=${DBUSER}"  --password=$DBPASSWD $DB > $PWD/$FILE
gzip $FILE
echo Created $PWD/$FILE*

명령 줄 인수를 사용하여 스크립트를 호출합니다.

backupdb.sh my_db dev_user dev_password

참고 URL : https://stackoverflow.com/questions/5075198/how-to-export-mysql-database-with-triggers-and-procedures

반응형