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入力ドロップダウンメニューを実装する方法

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

推薦する

Nginx+SSL による双方向認証を実装するためのサンプル コード

まずディレクトリを作成する cd /etc/nginx mkdir ssl cd ssl CA と自...

ubuntu20.04 LTS システムのデフォルト ソース ソース リスト ファイルの変更

誤って source.list の内容を変更し、一連のエラーが発生した場合は、デフォルトのソース フ...

フロントエンドの HTML 知識ポイントのまとめ (推奨)

1. HTMLの概要htyper テキスト マークアップ言語 ハイパーテキスト マークアップ言語ハ...

Vueは宮殿のグリッド回転抽選を実現します

Vueは宮殿グリッド回転抽選(CrossFireのxx転生に似ている)を実装しています。参考までに、...

CSSはコーナーカット+ボーダー+投影+コンテンツ背景色のグラデーション効果を実現します

CSS を使用するだけで、コーナーカット + ボーダー + 投影 + コンテンツの背景色のグラデーシ...

NextCloud プライベート クラウド ストレージ ネットワーク ディスクの構築に関する詳細なチュートリアル

Nextcloud は、オープンソースで無料のプライベート クラウド ストレージ ネットワーク ディ...

MYSQL パフォーマンス アナライザー EXPLAIN 使用例分析

この記事では、例を使用して MYSQL パフォーマンス アナライザー EXPLAIN の使用方法を説...

SEATAトランザクションサービスDockerのデプロイ手順の詳細説明

1. データベース認証ステートメントを作成する > データベース seata を作成します。 ...

MySQL 8.0 redo ログの詳細な分析

目次序文REDOログの生成REDOログ送信REDOログの保存と通知ユーザースレッドに通知要約する序文...

Ubuntu 18.04 Server に静的 IP を設定する方法

1. 背景Netplan は、Ubuntu システムのネットワーク設定を簡単に管理および構成できるよ...

初心者向けMySQLインデックス

序文MySQL インデックスで最も重要なデータ構造は B+ ツリーなので、まずは B+ ツリーの原理...

spring-boot と docker-java に基づいて Docker コンテナの動的な管理と監視を実装します [完全なソース コードのダウンロード付き]

Docker入門Docker はオープンソースのアプリケーション コンテナ エンジンです。従来の仮...

Vue3 を使用してポップアップ コンポーネントをカプセル化するのは簡単ですか?

目次最初に要約: 🌲🌲 序文: 🍬🍬公開🍬🍬 🍬🍬グローバル🍬🍬 🍬🍬ボールボックス🍬🍬 🎉🎉🎉結論...

JavaScriptはスライダーを介してWebページの色を変更することを実装します

みなさんこんにちは、今日はウェブフロントエンドのHTMLを見ていたら、inputタグのtype属性が...