Linux 上のサーバーから Windows 上のサーバーに MySQL DB をコピーする必要があります。mysqldump を使用してみましたが、Stored Procs が含まれていないようです。スキーマ、データ、ストアド プロシージャ、トリガーなど、すべてをコピーしたい。
ありがとう、ドン
mysqldumpの「--routines」オプションが必要です。
--routines フラグのドキュメントから:
ダンプされたデータベースからストアド ルーチン (プロシージャと関数) をダンプします。このオプションを使用するには、mysql.proc テーブルに対する SELECT 権限が必要です。--routines を使用して生成された出力には、ルーチンを再作成するための CREATE PROCEDURE および CREATE FUNCTION ステートメントが含まれています。ただし、これらのステートメントには、ルーチンの作成や変更のタイムスタンプなどの属性は含まれません。これは、ルーチンが再ロードされると、再ロード時間と同じタイムスタンプで作成されることを意味します。
元のタイムスタンプ属性を使用してルーチンを再作成する必要がある場合は、 --routines を使用しないでください。代わりに、mysql データベースに対する適切な権限を持つ MySQL アカウントを使用して、mysql.proc テーブルの内容を直接ダンプしてリロードします。
このオプションは MySQL 5.1.2 で追加されました。それ以前は、ストアド ルーチンはダンプされません。ルーチンの DEFINER 値は、MySQL 5.1.8 までダンプされません。これは、5.1.8 より前では、ルーチンがリロードされると、定義者がリロード ユーザーに設定されて作成されることを意味します。元の定義者でルーチンを再作成する必要がある場合は、前に説明したように、mysql.proc テーブルの内容を直接ダンプしてロードします。
mysqldump -u root -p --routines --databases io \
| sed -e "s/;;/\$\$/g" \
> io.sql
ダンプしてみてください。コマンドを次の場所にインポートします。
mysql -u root -p --fource --databases io < io.sql