web-dev-qa-db-ja.com

トリガーとプロシージャを使用してMySQLデータベースをエクスポートする方法

すべてのトリガーとプロシージャでmysqlデータベースをエクスポート/ダンプする方法。

71
Yugal

mysqldumpは、defaultすべてのtriggersをバックアップしますが、[〜#〜] not [〜#〜]ストアドプロシージャ/関数。この動作を制御する2つのmysqldumpパラメーターがあります。

  • --routines –デフォルトでFALSE
  • --triggers –デフォルトでTRUE

したがって、mysqldumpコマンドで、--routines 好む :

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

この記事で more を読む

103
Haim Evgi

MYSQLのエキスパートユーザーにとっては明らかなことかもしれませんが、デフォルト値が関数をエクスポートしないことを理解しようとすると、少し時間を無駄にしました。ですから、ここで-routines paramをtrueに設定して機能させる必要があると思います。

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

次のスクリプトを作成しましたが、うまくいきました。

#! /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
4
Krishna Vedula