バイナリ ファイルをバッチ モードで実行できるかどうか疑問に思っていました。を使用して、テキスト ファイルをバッチ モードで実行できることを知っていますmysql < batch-file
。
このような機能の考えられる動機の 1 つはsql
、プログラムからファイルを作成している場合、高速なバイナリ モードで読み取り/書き込みを行いたい場合です。にそのような方法はありますかmysql
、私はただ興味があります!!
バイナリ ファイルをバッチ モードで実行できるかどうか疑問に思っていました。を使用して、テキスト ファイルをバッチ モードで実行できることを知っていますmysql < batch-file
。
このような機能の考えられる動機の 1 つはsql
、プログラムからファイルを作成している場合、高速なバイナリ モードで読み取り/書き込みを行いたい場合です。にそのような方法はありますかmysql
、私はただ興味があります!!
mysql は、通常はレプリケーションに使用されるバイナリ ログを生成します。かなりハックですが、偽のレプリケーション ログを生成し、mysql にそれをロードさせることができます。通常、レプリケーション ログは mysqlbinlog を使用して mysql にロードされます。
mysqlbinlog replication_log | mysql
これにより、実行前にバイナリ レプリケーション ログがテキスト ファイルに変換されます。
SQL の実行は、ほぼ確実に解析よりもはるかに遅くなることに注意してください。特に、SQL の生成に関してはそうです。したがって、ほぼ確実に間違ったことを最適化しています。
--hex-blob
のオプションを使用して、mysqldump
純粋にテキストであるダンプファイルを作成してみてください。通常、これを行います。
mysqldump --hex-blob ... | gzip -9 > backup.sql.gz
後で復元します:
gunzip -dc backup.sql.gz | mysql ...
どちらの場合も...
、データベースに接続するために必要なコマンドラインオプションを表します。
これは、大規模なデータベースにロードするための最も効率的な方法ではありませんが、実際には十分に機能します。