Mysqldump は MySQL の論理バックアップに使用されます。高速ではありませんが、柔軟性が高く、機能も豊富です。柔軟に使用すると、間違いなく強力なツールになります。 まず、MySQL をバックアップする必要がある理由について考えてみましょう。主な理由はデータのセキュリティです。たとえば、メイン データベースがクラッシュしてデータが誤って削除された場合、完全バックアップが非常に重要です。 完全バックアップはプライマリ データベースから実行する必要がありますか、それともセカンダリ データベースから実行する必要がありますか? 1: メインライブラリから メインデータベースの方が重要ですが、実際にはバックアップはデータベースに影響を与えません mysqldump --host= --user= --password= --single-transaction --master-data=1 --flush-logs --databases >~/db.log --single-transaction パラメータを使用すると、テーブルをロックせずに一貫した読み取りが可能になります。つまり、バックアップ中にデータの更新が影響を受けることはありません。
一貫性のある読み取りにより座標点の位置を保証できるため、バックアップ時間が長くても正しい同期位置点を取得できます。
--master-data パラメータも非常に重要です。エクスポートされたステートメントには、バックアップ ステートメントに同期されたバイナリ ファイルとロケーション ポイントを含む CHANGE MASTER TO ステートメントが含まれます。
--flush-logs は新しいバイナリ ファイルの再生成を強制し、回復を容易にします。 2: 二次図書館から セカンダリライブラリからバックアップする方が安全だと感じます。 mysqldump --host=--user= --password= --dump-slave=1 --flush-logs --apply-slave-statements --include-master-host-port --databases >~/db.log; --dump-slave と --master-data パラメータは非常に似ています。
プライマリライブラリ(バックアップライブラリではない)のbinログ座標を取得することに注意してください。
ダンプされたステートメントには、レプリケーションまたはポイントインタイムリカバリを開始する位置が含まれます。 --apply-slave-statements は、ダンプ ステートメントにスレーブの開始ステートメントと停止ステートメントを自動的に含めます。 --include-master-host-port には、マスター ライブラリの接続情報が含まれます。 覚えておかなければならないことが 1 つあります。--single-transaction ステートメントを使用しても、--dump-slave によって MySQL の同期が中断されます。つまり、バックアップ データベースのデータはメイン データベースより遅れるため、一般的な自動スクリプトでは、バックアップ時に最初にバックアップ データベースが削除されます。
3: ポイントインタイムリカバリを実行する方法 実際に試したことはありません。まず、最新のフルバックアップに基づいて復元し、その後、後続の binlog ファイル (これらのファイルがまだ存在する場合) をインポートします。そのため、セカンダリ データベースの binlog ステートメントもバックアップすることをお勧めします。 誤ってデータを削除した場合は、バックアップ ポイント (--flush-logs が有効) から今朝までの binlog ステートメントをインポートするか、安全な binlog の場所を見つけて復元します。 「危険な発言」をどうやって飛ばすかという点については、制御がより困難です。 上記は、mysqldump を使用して完全バックアップとポイントインタイム バックアップを行う方法の詳細です。mysqldump を使用して完全バックアップとポイントインタイム バックアップを行う方法の詳細については、123WORDPRESS.COM の他の関連記事をご覧ください。 以下もご興味があるかもしれません:
|
<<: Linux mysql-5.6 でルート パスワードをリセットする方法
>>: Vue でコミュニケーションを実装する 8 つの方法
具体的な方法: (推奨チュートリアル:MySQLデータベース学習チュートリアル)テーブルロックの状態...
Dreamweaver または FrontPage を使用して HTML Web ページを作成する場...
最近のウェブサイトのほとんどはページが長く、4 画面または 5 画面の長さのものもあれば、2 画面ま...
通常、Java の学習とプロジェクトのデプロイはローカルで行われますが、実稼働環境は Linux 環...
この記事の例では、カウントダウン機能を実装するためのVueの具体的なコードを参考までに共有しています...
01. コマンドの概要dirname - ファイル名からディレクトリ以外のサフィックスを削除しますd...
プロジェクトの開発中に、データベースのデータがどんどん大きくなり、その結果、1 つのテーブルにデータ...
ここ数日、dockerでSpring Bootアプリケーションを実行する方法を勉強してきました。以前...
目次ストレージエンジンのメモリ管理データ ページを LRU キューの先頭に置かないのはなぜですか?ダ...
単一のテーブルを削除する: tableName から columnName = value を削除し...
ここに <input type="image"> がある場合、この画...
この記事では、モバイルモーダルボックス効果を実現するためのJavaScriptの具体的なコードを参考...
この記事の例では、参考のためにjsキャンバスランダムパーティクルエフェクトの具体的なコードを共有して...
まずSQLを書く SELECT DISTINCT from_id タラから cod.from_id ...
イメージが正常にビルドされると、Docker 環境があれば使用できますが、イメージを Docker ...