mysqlコピー中の臨時表の運用テクニック
1021 ワード
私達は知っています。臨時表には以下の特性があります。1.SESSIONレベルで、SESSIONが一旦切れたら、自動DROPになります。2.標準エンジンと関連があります。デフォルトのエンジンがINNODBなら、また気が狂って臨時表を使います。それでは、あなたのIBDATAは無限に増大されます。3.ディスクテーブルと同じように、デフォルトではbinlogsに書き込み、そして受動的にはrollback計画を追加しました。幻想下のシーン:データベースが壊れても、バックアップがありません。ちょうどバイナリログを全部保存しました。幸せです。MYSQLにバイナリログをインポートします。2つの方法があります。1)mysql binlogs…。このようなパイプを利用して直接データを回復し、時間が短く、効率が高いです。しかし、中には臨時表がいっぱいあって、ちょうどログの真ん中にあると、悲劇的に導入が失敗します。臨時表の特性を考えれば分かります。)2)mysql binlogs....*.logs>reult.logs;mysql dbname
[sql]
SET SQL_LOG_BIN=0;
SESSION 。
update tmp_t1, tmp_t2 set ....;
drop tmp_t1;
drop tmp_t2;
SET SQL_LOG_BIN=1;
はSESSIONレベルのコピーを開くべきである。