MySQLのスペースをクリーンアップするいくつかの具体的な方法

MySQLのスペースをクリーンアップするいくつかの具体的な方法

序文

MySQL 環境では、MySQL の障害はデータ ディスクがいっぱいになることによって発生することがよくあります。以下は、MySQL 環境で MySQL スペースをクリーンアップする方法の概要です。

1. ファイルのディスク使用量を確認する

1.1 ディスク容量の使用状況を確認する

[root@mysqlhost01 /]# df -lh

ここに画像の説明を挿入

1.2 ディレクトリスペースの使用状況を確認する

[root@mysqlhost01 /]# du -sh /usr
5.5G /usr

ここに画像の説明を挿入

2.Binlogログのクリーニング

2.1. Binlogログを定期的に自動クリーンアップする

mysql> '%expire_logs_days%' のような変数を表示します --mysql 5.7
mysql> '%binlog_expire_logs_seconds%' のような変数を表示します --mysql8.0

マイSQL8.0
MySQL 8 は、expire_logs_days で始まります。binlog_expire_logs_seconds を無効にします。binlog を設定して、ログを自動的にクリアします。秒単位で時間を節約します。デフォルト: 30 日間の場合は 2592000、4 時間の場合は 14400、1 日の場合は 86400、3 日の場合は 259200。
mysql> グローバルbinlog_expire_logs_seconds=86400を設定します。

マイSQL5.7
デフォルト値は 0 で、ログの有効期限が切れないことを意味します。グローバル パラメータを設定すると、一時的に有効にすることができます。
mysql>グローバルexpire_logs_daysを10に設定します。

ここに画像の説明を挿入

2.2 Binlogログを手動で削除する

ステップ 1: MySQL にログインし、show binary logs; を使用してログ ファイルを表示します。
mysql>バイナリログを表示します。
ステップ 2: 使用中のログ ファイルを表示します: show master status;
mysql>マスターステータスを表示します。
現在使用されているログ ファイルは mysqlhost01-bin.000010 なので、ログ ファイルを削除するときはこのファイルを除外する必要があります。
ログ ファイルを削除するコマンド: purge binary logs to 'mysqlhost01-bin.000010';
mysql>バイナリログを 'mysqlhost01-bin.000010' に消去します。
mysqlhost01-bin.000010 以外のログ ファイルを削除します。mysql-bin.000003 などの別のファイル名を指定することもできます。
削除するとほとんどのスペースが解放されます。

ここに画像の説明を挿入

2.3.スローログクリーニング

ステップ 1: スロー ログ モードを確認します。mysql>show variables like 'log_output%';
ステップ 2 スロー ログ ファイルの場所を確認し、「%slow%」などの変数を表示します。
ステップ3 スローログをクリアする [root@mysqlhost01 /]# cd /usr/local/mysql57/mysql5730/data
[root@mysqlhost01 データ]# echo "">mysqlhost01-slow.log

ここに画像の説明を挿入

ここに画像の説明を挿入

2.4.エラーログの消去

ステップ 1 エラー ログの場所を確認します。mysql>show variables like 'log_error';
ステップ2 エラーログのサイズを確認する [root@mysqlhost01 data]# ll -h log.err
ステップ 3 エラー ログをクリアします echo "">/usr/local/mysql57/mysql5730/data/log.err

ここに画像の説明を挿入

3. テーブルの清掃

大きなテーブルとは、100 GB を超えるディスク領域を占める単一のデータ ファイル、または 1 億を超えるデータ レコードを含む単一のテーブルを指します。

3.1. テーブルスペースとレコード数を確認する

テーブルスキーマ、テーブル名を選択、
concat(round((data_length+index_length)/1024/1024/1024,2),'G') を tablesize_gb として連結し、
information_schema.tables からの table_rows
tablesize_gb desc limit 5 で順序付けします。

table_schema: データベース名 table_name: テーブル名 tablesize_gb: テーブルサイズ (G 単位) table_rows: 行数

ここに画像の説明を挿入

3.2 一般的なテーブルデータのクリーニング

従来型テーブルとは、大型テーブルの基準を満たさないテーブルを指します。
消去
構文: テーブル名から削除 [ where 条件]
削除では条件を満たすデータのみが削除され、テーブルが占有するスペースは削減されません。
大量のデータを削除すると断片が残り、それを整理して再利用する必要があります。テーブル table.name を最適化します。
または、alter table table.name engine='innodb' を実行します (テーブルがロックされるため、業務のオフピーク時に実行するように注意してください)


切り捨て
構文: テーブル table_name を切り捨てる
切り捨てはすべてのテーブル データを削除し、占有されているテーブル スペースを再利用します。

落とす
構文: テーブル table_name を削除します
ドロップすると、すべてのテーブル データとテーブル構造が削除され、占有されているテーブル スペースが再利用されます。

これで、MySQL スペース クリーニングのいくつかの具体的な方法について説明したこの記事は終了です。MySQL スペース クリーニングに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Alibaba Cloud MySQL スペースをクリーンアップする方法

<<:  HTML入力ドロップダウンメニューを実装する方法

>>:  ウェブフォーム送信方法の詳細な概要

推薦する

MySQLデータベースに接続し、クエリ操作を実行するためのIDEAの完全なコード

1.まずMysqlリンク設定ページを書く パッケージ com.wretchant.fredis.me...

Nginx インストール エラーの解決方法

1. nginx-1.8.1.tar.gzを解凍する2. fastdfs-nginx-module-...

hasLayout によって発生する CSS バグの一覧

IE には長い間問題がありました。誰もがテストを受けたとき、誰もが笑顔でしたが、それはただのニヤニヤ...

レスポンシブWebデザイン学習(3) - モバイルデバイスでのWebページのパフォーマンスを向上させる方法

序文モバイル デバイスでは、帯域幅とプロセッサ速度の制限により、Web ページのパフォーマンスに対す...

Docker MySQLコンテナデータベースへの変更が有効にならない問題を解決する

公式の MySQL イメージを使用するには、構成ファイル、DB データ ファイル ディレクトリなどの...

2秒以内にHTMLページ内の他のページにリダイレクトする方法

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

HTML テーブル マークアップ チュートリアル (18): テーブル ヘッダー

<br />ヘッダーはテーブルの最初の行を参照します。ヘッダー内のテキストは中央揃えで太...

面白いウェブサイトをデザインするための方法とテクニック(写真)

他の人から「つまらない」とか「時代遅れ」というフィードバックを受けて、それを変更しようとしたのに、更...

JavaScript におけるさまざまなバイナリオブジェクトの関係の詳細な説明

目次序文さまざまなオブジェクト間の関係配列バッファ型付き配列Uint8ClampedArray文字間...

Vueはメニューナビゲーションを実装するためにelement-uiを使用します

この記事では、Element-uiを使用してメニューナビゲーションを実装するVueの具体的なコードを...

Vue Element UI カスタム説明リストコンポーネント

この記事の例では、Vue Element UIカスタム説明リストコンポーネントの具体的なコードを参考...

Nginxでネットワーク分離を解決した実践記録を詳しく解説

必要最近、Node オンライン サービスを移行する必要があったため、2 つの新しいオンライン サーバ...

HTML テーブルの行間隔を変更する方法の例

HTML テーブルを使用する場合、行間隔を変更する必要がある場合がありますが、余白、パディング、折り...

CentOS 7.4 64 ビット版に MySQL 8.0 をインストールして設定するための詳細な手順

ステップ1: MySQL YUMソースを取得するMySQLの公式サイトにアクセスして、RPMパッケー...

HTMLは入力完了を検出する機能を実装する

入力が進行中かどうかを検出するには、「onInput(event)」を使用しますコンテンツが変更され...