序文 MySQL データベースを使用する過程では、データベースのバックアップと復元が必要になることがよくあります。最も簡単で便利な方法は、SQL データ ファイルをエクスポートおよびインポートしてバックアップと復元を完了することです。ただし、プロジェクトが大きくなるにつれて、データの量はますます大きくなり、復元のたびに頭痛の種になります。 最近、プロジェクトから 5GB のデータベースをダウンロードしてローカルに復元したところ、40~50 分かかりました。今後のデータ拡張を考えると、データ量が増え、復元コストも増えるので、調べてみたところ、以下の設定で復元効率を向上できることがわかりました。 1. バックアップパラメータを変更する まず、データベースをバックアップする際のパラメータを変更して、リカバリ効率を向上させる必要があります。 mysqldump --extended-insert mysqldump の --extended-insert パラメータはバッチ挿入を示し、複数の挿入ステートメントを 1 つのステートメントにマージします。バックアップのインポート効率は、--extended-insert をオンにしていない場合と比べて 3 ~ 4 倍異なります。 --extended-insert=false を使用してエクスポートされた sql ファイル データは、1 行に 1 つの挿入ステートメントがあり、実行効率が非常に低いです。 --extended-insert=true でエクスポートされたテーブルは下図のようになります。非常に長い挿入文がバッチで挿入されます。 2. MYSQLクイック挿入パラメータを調整する データベース ストレージ エンジンが MYISAM の場合、このパラメータを 512M または 256M に設定できます。MyISAM は特別なツリー キャッシュを使用してバッチ挿入を高速化します。 関連ドキュメント: https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_bulk_insert_buffer_size デフォルト値は8M = 8388608バイトです 挿入バッファサイズを確認する '%bulk%' のような変数を表示します。 挿入バッファサイズを設定する(グローバル) グローバル bulk_insert_buffer_size を 1024*1024*512 に設定します。 挿入バッファサイズを設定する(セッション) bulk_insert_buffer_size を 1024*1024*256 に設定します。 Mysqlを再起動したときに保持される値を設定する必要がある場合は、この設定をmy.cnfに追加する必要があります。 [mysqld] バルク挿入バッファサイズ = 256M 3. 検査項目を閉じる Innodb エンジンの場合、一部のシステム チェックをオフにして、より高速な挿入ソリューションを実現できます。 //自動コミットをオフにする SET autocommit=0; // ユニークチェックをオフにする set unique_checks = 0; //外部キーチェックをオフにする SET foreign_key_checks=0; // バックアップ時に --extended-insert パラメータを有効にする Innodb バルクデータロードに関する関連ドキュメント: https://dev.mysql.com/doc/refman/5.7/en/optimizing-innodb-bulk-data-loading.html 4. 練習 上記の最適化を行うと、MySQL のリカバリ効率が即座に向上します。上記のパラメータの最適化を行う前は、データベースの復元に毎回 40 分かかっていました。設定後は、約 16 分しかかかりません。私のデータベース ファイルの容量は約 5 GB です。 今のところはこれですべてです。Tiguan に関するより良い解決策や提案があれば、ぜひ私と話し合ってください。コーディングを楽しんでください。 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。 以下もご興味があるかもしれません:
|
>>: Vue の双方向イベントバインディング v-model の原理についての簡単な説明
目次横棒グラフデータとスタイルを動的に更新するeChartsの幅と高さの適応の問題を解決する縦棒グラ...
今日は nginx サーバーを使用するのですが、vue プロジェクトをサーバーにデプロイする必要もあ...
ページ置換アルゴリズム: 本質は、限られたメモリをワイヤレス プロセスに対応できるようにすることです...
オンライン MySQL トランザクションの問題の記録先週の金曜日、大きなテーブルを削除する操作を実行...
1. haslayout と bfc は IE 固有の標準属性です。 2. BFC はページ上の分離...
-9999 ピクセルの画像置換技術は、ここ 10 年近く人気があります。テキスト要素を画像に置き換え...
私は最近、ユーザー操作を元に戻す、またはやり直す機能を備えたビジュアル操作プラットフォームを開発して...
序文ルーティングの管理は、ほとんどのシングルページ アプリケーションにとって不可欠な機能です。 Vu...
ここで nginx のリバース プロキシを試してみましょう。リバースプロキシ方式とは、インターネット...
最近、Zoom ビデオ会議をテストし、100 人が同時に会議に参加することをシミュレートする必要があ...
Linux での ssh サービス構成など、ssh サーバー構成に関する記事は多数あります。ここでは...
【序文】 Vue と React の CSS モジュール ソリューションはどちらも、実装にローダーに...
導入MySQL データベースの読み取りと書き込みの分離を設定すると、データベースに対する書き込み操作...
Server 2016 のリモート デスクトップ接続のデフォルト数は 2 ユーザーです。2 人以上...
1. Dockerはローカルイメージをインポートする場合によっては、イメージをローカルまたは別の友人...