内部データベースには監査レコードがありません (audit_detail と Audit_main のカウントは 0 です)。
ibdata ファイルの初期サイズは 100M、自動拡張の最大サイズは 15776M に設定されています。
ibdata ファイルのサイズは現在わずか 104M です。
Audit Archiver が実行されていると、データベースが 96% であるというメッセージが表示され続けます。
SSG サービスと MYSQLD サービスの両方を再起動しましたが、依然としてこのエラーが発生します。
これを解消するにはどうすればよいですか?
Release : 10.X
Component : API GATEWAY
mysql 8 ではデフラグで領域を回復する方法が mysql 5.x から変更されました。
Mysql 8 は古いバージョンとは異なり、最適化は使用されなくなりました。以下の手順を実行してください。
最初に FOREIGN KEY 0 を設定します。
各 AUDIT テーブルをトランケートします - 0 行
FOREIGN KEY 1 を設定します。
次に、各Auditテーブルをアナライズします。
現在のサイズを確認します:
mysql> SELECT table_name AS "Table", round(((data_length + index_length) / 1024 / 1024), 2) as size FROM information_schema.TABLES WHERE table_schema = "ssg" ORDER BY size DESC;
+--------------------------------------+-------+
| Table | size |
+--------------------------------------+-------+
| audit_main | 79.30 |
| audit_admin | 26.67 |
. . . . .
監査テーブルをトランケートします:
SET FOREIGN_KEY_CHECKS = 0;
truncate table audit_admin;
truncate table audit_detail;
truncate table audit_detail_params;
truncate table audit_main;
truncate table audit_message;
truncate table audit_system;
SET FOREIGN_KEY_CHECKS = 1;
analyze table ssg.audit_admin;
analyze table ssg.audit_detail;
analyze table ssg.audit_detail_params;
analyze table ssg.audit_main;
analyze table ssg.audit_message;
analyze table ssg.audit_system;
サイズが減少したことを確認します:
mysql> SELECT table_name AS "Table", round(((data_length + index_length) / 1024 / 1024), 2) as size FROM information_schema.TABLES WHERE table_schema = "ssg" ORDER BY size DESC;
+--------------------------------------+-------+
| Table | size |
+--------------------------------------+-------+
| audit_admin | 4.55 |
| audit_main | 0.06 |
. . . . .
この文書は以下の英文技術情報を翻訳したものです。
[英語文書] Audit Archiver still shows greater than 90% even after audit_purge.sh