🚗
MySQLのmysqldump コマンドでストアドプロシージャやストアドファンクションも含めてダンプを取得したい
MySQLのmysqldump コマンドでストアドプロシージャやストアドファンクションも含めてダンプを取得したい
MySQLでデータベースのダンプ(バックアップ)を取得するとき、よく次のようなコマンドを使います。
mysqldump --single-transaction -u ユーザー名 -p -h ホスト名 データベース名 > ダンプファイル名
ただし、このコマンドでは
ストアドプロシージャ(Stored Procedure) や
ストアドファンクション(Stored Function)
はダンプファイルに含まれません。
--routines オプションを追加する
ストアドプロシージャやストアドファンクションも含めたい場合は、
--routines オプションを付ける必要があります。
mysqldump --single-transaction --routines -u ユーザー名 -p -h ホスト名 データベース名 > ダンプファイル名
このオプションを付けることで、ルーチンの定義(CREATE PROCEDURE や CREATE FUNCTION)も含まれるようになります。
MySQL公式サイト 6.5.4 mysqldump — A Database Backup Program
ルーチン(Routine)とは?
MySQLでは、ストアドプロシージャとストアドファンクションを**まとめて「ルーチン(Routines)」**と呼んでいるようです。
たとえば、INFORMATION_SCHEMA.ROUTINES というシステムビューには、これら両方の情報が含まれています。
Discussion