Mysql mysqldumpタイミングによる自動バックアップの注意事項

1215 ワード

1.実現方法
バッチを使用してwindowsシステムのコントロールパネル-計画タスクに追加し、タイミングよく実行します.
バッチ・ファイル(bat)のコードは次のとおりです.
@echo off
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
C:\mysqldump --opt --single-transaction=TRUE --user=root --password=crcc --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "crchi_remote" > E:/db_backup/crchi_remote_%Ymd%.sql
@echo on

計画タスクの設定はブログを参照:https://blog.csdn.net/weiyangdong/article/details/79140287
説明:この方法では、データベースを閉じることなく、ファイルを毎日名前でバックアップできます.%date:~5,2%を組み合わせて現在の日付を導き出し、組み合わせの効果はyyyyymmddであり、dateコマンドで得られる日付フォーマットはデフォルトでyyyyy-mm-dd(このフォーマットでなければpauseコマンドでコマンドラインウィンドウを一時停止して%date:~20%で得られる現在のコンピュータ日付フォーマットを見ることができる)であるため、%date:~5,2%で日付の5文字目から始まる2文字を得ることができ、例えば今日は2009-02-05で,%date:~5,2%で02が得られる.(日付の文字列の下付き文字は0から)
2.注意事項
注:その他の手順はすべてネット上のブログの操作の問題に従って大きくなくて、重点は以下の1つで、問題が発生しやすいです!
バッチファイル内のコードmysqldumpのパスで、スペースは表示されません.mysqlのインストールパスは通常Program Filesのパスの下にあるため、バッチファイルの実行に失敗します.バックアップしたファイルは0 kbです.
解決:mysqldump.exeをスペースのないパスにコピーします.筆者はCディスクルートディレクトリの下に直接置いて、実行に成功しました.実行中に「using a password on command...」というプロンプトが表示されます.無視すると、バックアップを実行すると自動的に消去されます.