MySQL データベースの状態 (テーブル構造、内容など) を取得する必要があるテスト フレームワークを作成しています。
特定の操作後に状態が変更されていないことを確認するために、これが必要です。(オートインクリメントの値は変更できるかもしれませんが、私はこれを処理できると思います。)
ダンプは、できれば人間が読める形式にする必要があります (できれば、mysqldump のように SQL コードにする必要があります)。
テスト フレームワークを MySQL 接続のみを使用するように制限したいと考えています。状態をキャプチャするために、 mysqldump を呼び出したり、ファイルシステムにアクセスしたりしないでください(*.frm ファイルをコピーしたり、ファイルに SELECT INTO を実行したりするなど、パイプは問題ありません)。
これはテスト専用のコードなので、パフォーマンスは気にしません。ただし、信頼できる動作が必要です。
必要な機能を実装する最良の方法は何ですか?
既存のオープン ソース バックアップ ツールのいくつかに基づいてコードを作成する必要があると思います...どれを調べるのが最適ですか?
更新:コードをそのまま再利用できるとは思わないため、これを記述する言語を指定していません (いや、それは PHP ではありません)。 C API)。コードは Linux で実行されます。