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

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

推薦する

Chrome をクラッシュさせる CSS コードの行

一般的な CSS コードでは、UI レイアウトや互換性に関して軽微な問題が発生するだけです。しかし、...

startup.bat をダブルクリックすると Tomcat がクラッシュする問題の解決方法の詳細な説明

Tomcat を学習したばかりのプログラマーにとって、これはよくある間違いです。 1. 環境変数の問...

Pure CSS3はdivの出入りを順番に実現します

この記事は主に、純粋な CSS3 を使用して div が順番に出入りする効果を紹介します。一定の参考...

Web ページの HTML コードの説明: 順序付きリストと順序なしリスト

このセクションでは、HTML のリスト要素について学習します。リストは、Web サイトのデザインにお...

docker runコンテナの自動終了の解決策

今日、Dockerfile を使用してイメージを作成したときに問題が発生し、イメージの実行後にコンテ...

WeChat アプレット ピッカー マルチ列セレクター (モード = multiSelector)

目次1. 効果図(複数列) 2. 通常セレクター: mode = selector、複数列セレクター...

Nginx で CDN サーバーを構築する方法の詳細な説明 (画像とテキスト)

Nginxのproxy_cacheを使用してキャッシュサーバーを構築する1: ngx_cache_...

MySQL 時間統計方法の概要

データベースの統計を行う場合、多くの場合、年、月、日に基づいてデータを収集し、echart を使用し...

ウェブサイトにファビコンを追加するためのヒント: URLの前の小さなアイコン

いわゆるファビコンは、Favorites Icon の略で、中国語ではウェブサイトアバターと呼ばれて...

背景位置パーセンテージ原則の詳細な説明

今日、誰かがコードを調整するのを手伝っていたとき、次のようなスタイルを見つけました。 背景位置: 5...

時間に基づいて日付をクエリするためのMySQL最適化テクニック

たとえば、昨日新規登録されたユーザーを照会するには、次の 2 つの書き方があります。 説明する ch...

MySQL スケジュール バックアップ ソリューション (Linux crontab を使用)

序文この世の愛には値段のつくものもありますが、データには値段のつけられないものがあります。将来、誤っ...

遭遇したいくつかのブラウザ互換性の問題について簡単に説明します

背景ブラウザの互換性の問題を解決するのは非常に面倒なことです。高度な技術はそれほど必要ありませんが、...

Vue.js パフォーマンス最適化 N 個のヒント (収集する価値あり)

目次機能コンポーネント子コンポーネントの分割ローカル変数v-show によるDOMの再利用キープアラ...

MySQL 8.0 のインデックス スキップ スキャン

序文MySQL 8.0.13 では、インデックス スキップ スキャン (インデックス ジャンプ スキ...