-
Giới thiệu và khởi tạo môi trường MySQL
- Hướng dẫn cài đặt và cấu hình MySQL Server trên Windows cho kết nối từ xa
- Vận dụng tư duy phân tích dữ liệu với Mysql từ cơ bản đến nâng cao
- Vận dụng tư duy phân tích quản trị dữ liệu với MySQL
- Tối ưu hoá công việc quản trị với view và bảng tạm
- Tôi ưu hoá với thủ tục – procedure trong mysql
- Nhóm hàm windown
- Con trỏ và phân vùng trong mysql
- Làm việc với hàm tự tạo trong Mysql
- Làm việc với trigger trong Mysql
- Làm việc với giao dịch
- Tìm hiểu về truy vấn động
- Even – Sự kiện định kỳ trong Mysql
-
Quản trị dữ liệu trong doanh nghiệp
- Tổng quan về trục quản trị dữ liệu
- Quản trị & Giám sát hệ thống với cơ sở dữ liệu ảo information_schema
- Cấu hình và lưu trữ
- Cấu hình file my.ini
- An toàn và toàn vẹn dữ liệu – Bảo mật – Backup
- Hiệu năng và tối ưu hoá
- Đồng bộ và phục hồi
- Phân tích tối ưu hoá hiệu năng với dữ liệu bảng performance_schema
-
Chiến lược quản trị dữ liệu
Xây dựng dữ liệu quản trị hệ thống
Tài liệu đặc tả nghiệp vụ (Business Specification) dành cho việc xây dựng Database Quản Trị Dữ Liệu (DBA Governance Database)
— một nền tảng để quản lý hệ thống lớn một cách minh bạch, có kiểm soát và có khả năng tự động hoá.
TÀI LIỆU ĐẶC TẢ NGHIỆP VỤ
Hệ thống Cơ sở dữ liệu quản trị dữ liệu (DBA Governance Database)
1. Mục tiêu hệ thống
Hệ thống Database Quản trị Dữ liệu (gọi tắt là ADMIN_DB) được xây dựng nhằm:
- Cung cấp một nền tảng tập trung lưu trữ toàn bộ thông tin quản trị của các hệ thống cơ sở dữ liệu khác.
- Cho phép giám sát, đánh giá, và kiểm soát vận hành cơ sở dữ liệu một cách chủ động.
- Hỗ trợ tự động hóa quy trình quản trị định kỳ, giảm phụ thuộc thao tác thủ công.
- Đảm bảo an toàn, toàn vẹn và khả năng truy vết của toàn bộ hoạt động DBA.
Mục tiêu: Xây dựng “Database quản lý các Database” — chuẩn hóa và tự động hóa toàn bộ hoạt động quản trị dữ liệu.
2. Phạm vi áp dụng
| Thành phần | Mô tả |
|---|---|
| Đối tượng quản lý | Toàn bộ các database vận hành trong hệ thống (MySQL, SQL Server, PostgreSQL, v.v.) |
| Đối tượng sử dụng | Đội ngũ DBA, DevOps, DataOps, Kiểm toán CNTT |
| Môi trường triển khai | Môi trường Production (với quyền chỉ đọc tới các DB khác), có thể nhân bản sang Staging |
| Hệ thống tích hợp | Các công cụ monitoring (Prometheus, Grafana), công cụ cảnh báo (Email, Telegram Bot, API Gateway) |
3. Các yêu cầu nghiệp vụ chính
3.1. Quản lý Metadata & Cấu trúc hệ thống
- Tự động thu thập và lưu cấu trúc: Database, Table, Column, Index, Foreign Key.
- Ghi nhận thay đổi cấu trúc theo thời gian (schema drift detection).
- Phục vụ cho việc kiểm toán, so sánh và chuẩn hóa mô hình dữ liệu.
3.2. Giám sát hiệu năng & tài nguyên
- Theo dõi truy vấn chậm, mức sử dụng CPU/RAM/IO, wait events, thread hoạt động.
- Ghi nhận thống kê hiệu năng định kỳ (theo giờ/ngày).
- Cảnh báo khi vượt ngưỡng hiệu năng (response time, IO latency, connection pool usage).
3.3. Quản lý người dùng & phân quyền
- Thu thập thông tin user, host, role, quyền được cấp.
- Theo dõi hành vi đăng nhập, thay đổi quyền, và các truy vấn quản trị.
- Lưu audit log phục vụ kiểm toán bảo mật.
3.4. Theo dõi dung lượng & tăng trưởng dữ liệu
- Tự động đo dung lượng DB, bảng, index hàng ngày.
- Tính tốc độ tăng trưởng trung bình và dự báo thời điểm đạt ngưỡng.
- Ghi log cảnh báo nếu vượt quota được thiết lập.
3.5. Sao lưu & phục hồi
- Ghi nhận lịch sử backup, trạng thái, vị trí lưu trữ, checksum, thời gian hoàn thành.
- Theo dõi thành công/thất bại, dung lượng, và thời gian phục hồi trung bình.
- Cho phép kiểm tra định kỳ tính toàn vẹn file backup.
3.6. Bảo mật & Audit
- Ghi log các hoạt động quan trọng: đăng nhập, thay đổi cấu trúc, thao tác trên dữ liệu nhạy cảm.
- Tích hợp với hệ thống cảnh báo an toàn (qua email, API webhook).
- Cho phép tạo báo cáo kiểm toán bảo mật định kỳ.
3.7. Tự động hóa & vận hành định kỳ
- Sử dụng Event Scheduler / Cron để tự động chạy:
- Thu thập dữ liệu hiệu năng
- Kiểm tra backup
- Xóa log cũ
- Gửi cảnh báo
- Ghi nhận kết quả từng job và trạng thái thực thi.
3.8. Báo cáo & Dashboard
- Cung cấp dữ liệu nền để hiển thị trên dashboard (Power BI, Grafana).
- Các chỉ số chính (KPI) cần theo dõi:
- Top 10 truy vấn chậm
- DB tăng trưởng nhanh nhất
- Backup thất bại gần nhất
- User đăng nhập bất thường
- Hiệu năng trung bình theo giờ/ngày
4. Yêu cầu chức năng (Functional Requirements)
| Mã | Tên chức năng | Mô tả tóm tắt | Tần suất thực thi |
|---|---|---|---|
| F01 | Thu thập metadata | Quét thông tin cấu trúc DB và lưu vào tbl_metadata_* |
Hàng ngày |
| F02 | Giám sát dung lượng | Lưu kích thước DB và tăng trưởng | Hàng ngày |
| F03 | Thu thập hiệu năng | Lấy dữ liệu từ performance_schema |
Mỗi giờ |
| F04 | Ghi nhận user & role | Thu thập từ mysql.user, mysql.db |
Hàng ngày |
| F05 | Ghi nhận audit log | Ghi log truy vấn hoặc thay đổi cấu trúc | Liên tục |
| F06 | Kiểm tra backup | Đối chiếu danh sách file backup với lịch cấu hình | Hàng ngày |
| F07 | Cảnh báo vượt ngưỡng | Gửi thông báo khi phát hiện bất thường | Theo sự kiện |
| F08 | Quản lý event & job | Ghi nhật ký job quản trị | Tự động |
5. Yêu cầu phi chức năng (Non-functional)
| Tiêu chí | Mô tả |
|---|---|
| Hiệu năng | Không ảnh hưởng tới hệ thống nghiệp vụ (thu thập chỉ đọc, ưu tiên truy vấn nhẹ). |
| An toàn dữ liệu | Tách biệt hoàn toàn với dữ liệu nghiệp vụ. Chỉ lưu metadata và log. |
| Khả năng mở rộng | Cho phép mở rộng để quản lý nhiều DB engine khác nhau. |
| Tính truy vết (Auditability) | Mọi thay đổi trong hệ thống quản trị đều được ghi log. |
| Khả năng tích hợp | Có thể kết nối ra ngoài qua API hoặc xuất file CSV/JSON định kỳ. |
6. Mô hình dữ liệu khái quát
ADMIN_DB
┣━ catalog/
│ ┣━ tbl_databases
│ ┣━ tbl_tables
│ ┣━ tbl_columns
┣━ performance/
│ ┣━ perf_query_summary
│ ┣━ perf_wait_summary
┣━ security/
│ ┣━ user_accounts
│ ┣━ user_audit_log
┣━ capacity/
│ ┣━ space_usage
│ ┣━ growth_history
┣━ backup/
│ ┣━ backup_log
│ ┣━ restore_log
┣━ automation/
│ ┣━ job_scheduler
│ ┣━ job_log
┗━ reference/
┣━ ref_threshold
┣━ ref_environment
7. Luồng xử lý nghiệp vụ tự động
Event Scheduler
↓
Thu thập dữ liệu (INFORMATION_SCHEMA, PERFORMANCE_SCHEMA)
↓
Lưu vào ADMIN_DB
↓
So sánh ngưỡng cảnh báo
↓
Sinh cảnh báo (email/API)
↓
Ghi nhật ký job và log hiệu năng
8. Kết quả mong đợi
| Hạng mục | Kết quả đạt được |
|---|---|
| Vận hành | Giảm 80% thao tác thủ công quản trị định kỳ |
| Giám sát | Chủ động phát hiện bất thường trước khi sự cố xảy ra |
| Audit | Có khả năng truy vết đầy đủ thay đổi trong hệ thống |
| Báo cáo | Cung cấp dữ liệu nền cho dashboard quản trị |
| An toàn | Phân quyền rõ ràng, cô lập dữ liệu quản trị |
9. Định hướng mở rộng tương lai
- Tích hợp Prometheus hoặc Zabbix để tự động cảnh báo.
- Mở API cho hệ thống giám sát ngoài truy vấn dữ liệu quản trị.
- Áp dụng cơ chế Machine Learning để phát hiện bất thường tự động (anomaly detection).
- Đồng bộ cấu hình và metadata lên nền tảng Data Catalog nội bộ.
10. Kết luận
Hệ thống Database Quản trị Dữ liệu (DBA Governance Database) là bước trung gian cần thiết để chuyển từ quản trị thủ công sang quản trị chủ động – tự động hóa – phân tích dự báo.
Nó không chỉ hỗ trợ DBA giảm tải, mà còn là cơ sở dữ liệu nền tảng cho mọi hoạt động kiểm toán, an ninh, và tối ưu hiệu năng của hạ tầng dữ liệu doanh nghiệp.
Tài liệu đặc tả thiết kế kỹ thuật (Technical Design Specification) cho hệ thống Database Quản trị Dữ Liệu (ADMIN_DB).
TÀI LIỆU ĐẶC TẢ THIẾT KẾ KỸ THUẬT
Hệ thống: Database Quản trị Dữ Liệu – ADMIN_DB
11. Mục tiêu kỹ thuật
- Chuẩn hóa mô hình dữ liệu quản trị.
- Tự động thu thập, lưu trữ và xử lý dữ liệu hệ thống (metadata, hiệu năng, backup, bảo mật, audit).
- Hỗ trợ cơ chế cảnh báo và giám sát tự động qua Event Scheduler hoặc API.
- Đảm bảo độc lập, mở rộng và an toàn.
12. Kiến trúc tổng thể
🔹 2.1. Thành phần hệ thống
┌─────────────────────────────┐
│ MySQL Instances │
│ (CSDL nghiệp vụ, staging...)│
└────────────┬────────────────┘
│
▼
┌─────────────────────────────┐
│ ADMIN_DB (Governance) │
│ ├─ Module: Catalog │
│ ├─ Module: Performance │
│ ├─ Module: Capacity │
│ ├─ Module: Security │
│ ├─ Module: Backup │
│ └─ Module: Automation │
└────────────┬────────────────┘
│
▼
┌─────────────────────────────┐
│ Reporting / Dashboard Layer │
│ (Grafana, Power BI, API) │
└─────────────────────────────┘
13. Thiết kế mô hình dữ liệu

🔹 3.1. Module CATALOG – Quản lý cấu trúc & metadata
| Bảng | Mô tả | Các cột chính |
|---|---|---|
tbl_databases |
Thông tin tổng quan các DB đang được quản lý | id, db_name, db_engine, server_name, create_time, charset, collation, last_sync |
tbl_tables |
Thông tin bảng trong từng DB | id, db_name, table_name, table_type, row_count, data_length, index_length, update_time |
tbl_columns |
Thông tin cột chi tiết | id, db_name, table_name, column_name, data_type, is_nullable, column_default, extra |
tbl_indexes |
Thông tin index | id, db_name, table_name, index_name, column_name, non_unique, index_type |
🛠️ Thu thập định kỳ từ
INFORMATION_SCHEMAqua eventev_sync_catalog.
🔹 3.2. Module PERFORMANCE – Giám sát hiệu năng
| Bảng | Mô tả | Các cột chính |
|---|---|---|
perf_query_summary |
Thống kê truy vấn chậm (slow query) | id, db_name, query_text, exec_count, avg_time_ms, max_time_ms, first_seen, last_seen |
perf_wait_summary |
Thống kê wait event | id, event_name, count_star, sum_timer_wait, avg_timer_wait, snapshot_time |
perf_session_status |
Theo dõi session (connection, threads) | id, host, user, thread_id, time_active, state, command, recorded_at |
📈 Dữ liệu thu thập từ
performance_schema.events_statements_summary_by_digest,events_waits_summary_global_by_event_name.
🔹 3.3. Module CAPACITY – Quản lý dung lượng & tăng trưởng
| Bảng | Mô tả | Các cột chính |
|---|---|---|
space_usage |
Ghi dung lượng DB hàng ngày | id, db_name, data_size_mb, index_size_mb, total_size_mb, recorded_at |
growth_history |
Lịch sử tăng trưởng theo tuần/tháng | id, db_name, avg_growth_mb_per_day, predicted_full_date, last_update |
quota_threshold |
Định nghĩa ngưỡng cảnh báo dung lượng | db_name, threshold_mb, alert_level, created_at |
🔹 3.4. Module BACKUP – Theo dõi sao lưu và phục hồi
| Bảng | Mô tả | Các cột chính |
|---|---|---|
backup_log |
Nhật ký sao lưu | id, db_name, backup_type, file_path, backup_size_mb, duration_sec, status, recorded_at |
restore_log |
Ghi nhận phục hồi | id, db_name, restore_time, source_path, status, verified_by, recorded_at |
⚙️ Dữ liệu có thể được insert tự động từ script backup hoặc event.
🔹 3.5. Module SECURITY – Quản lý người dùng & Audit**
| Bảng | Mô tả | Các cột chính |
|---|---|---|
user_accounts |
Danh sách người dùng và quyền | id, user, host, auth_plugin, account_locked, create_time, last_seen |
user_privileges |
Các quyền cụ thể | id, user, db_name, privilege_type, is_grantable |
user_audit_log |
Lưu hành vi đăng nhập, thay đổi | id, user, host, action, object_name, event_time, ip_address |
🔹 3.6. Module AUTOMATION – Tự động hóa & nhật ký job
| Bảng | Mô tả | Các cột chính |
|---|---|---|
job_definition |
Định nghĩa các job quản trị | job_name, description, schedule, status, last_run, next_run |
job_log |
Kết quả thực thi job | id, job_name, run_time, status, message, duration_sec |
alert_log |
Ghi lại các cảnh báo sinh ra | id, alert_type, severity, message, status, created_at, resolved_at |
14. Cơ chế tự động hóa
🔹 4.1. Event Scheduler
| Event Name | Mô tả | Lịch | Mục tiêu |
|---|---|---|---|
ev_sync_catalog |
Thu thập thông tin schema (DB, table, column) | Mỗi ngày | Cập nhật metadata |
ev_perf_collect |
Lưu thống kê truy vấn và wait event | Mỗi giờ | Giám sát hiệu năng |
ev_space_monitor |
Ghi dung lượng và dự báo tăng trưởng | Mỗi ngày | Quản lý dung lượng |
ev_check_backup |
Kiểm tra trạng thái backup | Mỗi ngày | Đảm bảo phục hồi được |
ev_clean_logs |
Xóa log cũ hơn X ngày | Mỗi tuần | Tối ưu dung lượng ADMIN_DB |
ev_alert_check |
Kiểm tra vượt ngưỡng và sinh cảnh báo | Mỗi giờ | Kích hoạt cảnh báo tự động |
🔹 4.2. Thủ tục (Stored Procedures)
| Procedure | Mục đích | Ghi chú |
|---|---|---|
sp_sync_catalog() |
Lấy dữ liệu từ INFORMATION_SCHEMA và cập nhật vào tbl_databases, tbl_tables, tbl_columns |
Gọi bởi ev_sync_catalog |
sp_collect_perf() |
Lấy dữ liệu từ performance_schema và ghi vào perf_query_summary |
Gọi bởi ev_perf_collect |
sp_monitor_space() |
Đo dung lượng từng DB và ghi vào space_usage |
Gọi bởi ev_space_monitor |
sp_generate_alerts() |
So sánh dữ liệu thực tế với quota_threshold để sinh cảnh báo |
Gọi bởi ev_alert_check |
sp_clean_old_logs() |
Xóa log cũ hơn X ngày khỏi job_log, perf_query_summary, v.v. |
Gọi bởi ev_clean_logs |
15. Phân quyền và bảo mật
| Vai trò | Quyền | Ghi chú |
|---|---|---|
admin_ops |
Toàn quyền trên ADMIN_DB | Quản lý vận hành |
monitor_agent |
SELECT + EXECUTE thủ tục monitor | Dùng cho event và automation |
auditor_readonly |
SELECT trên các bảng log, metadata | Dành cho kiểm toán |
api_service |
SELECT trên bảng xuất báo cáo | Dùng cho dashboard/API |
16. Cơ chế log & truy vết
- Tất cả thủ tục, event, và job đều ghi kết quả vào
job_log. - Khi phát sinh lỗi → lưu
message,error_code,stack_trace. - Cảnh báo được ghi song song vào
alert_logvới mức độ (LOW,MEDIUM,CRITICAL). - Tất cả các thao tác DDL trong ADMIN_DB (CREATE, ALTER, DROP) được log qua trigger audit.
17. Hiệu năng & lưu trữ
- Dữ liệu log, hiệu năng, audit được phân vùng (
PARTITION BY RANGE (recorded_at)) theo tháng để tối ưu truy vấn. - Event dọn dẹp tự động xóa dữ liệu cũ sau 90 ngày.
- Chỉ lưu dữ liệu tổng hợp, không lưu chi tiết từng truy vấn.
18. Mô hình quan hệ tổng quát
tbl_databases (1) ──< tbl_tables (n) ──< tbl_columns (n)
tbl_databases (1) ──< space_usage (n)
tbl_databases (1) ──< perf_query_summary (n)
job_definition (1) ──< job_log (n)
quota_threshold (1) ──< alert_log (n)
user_accounts (1) ──< user_privileges (n)
19. Hạ tầng triển khai
| Thành phần | Mô tả |
|---|---|
| MySQL Engine | 8.0+ |
| Storage Engine | InnoDB (tất cả bảng) |
| Event Scheduler | Bật (ON) |
| Backup ADMIN_DB | Mỗi ngày, giữ 7 bản gần nhất |
| Kết nối tới DB khác | Sử dụng federated hoặc mysql_fdw (PostgreSQL) nếu đa hệ |
20. Kết luận
Hệ thống ADMIN_DB hoạt động như một bộ não giám sát toàn cục, tự động hóa hầu hết công việc DBA thường xuyên:
- Tự thu thập thông tin cấu trúc, hiệu năng, dung lượng.
- Tự cảnh báo và ghi nhận log.
- Tự bảo trì và dọn dẹp dữ liệu.
- Cung cấp dữ liệu nền cho phân tích, dự báo và kiểm toán.
🧩 1. Nhóm Cấu trúc hệ thống (metadata)
🔹 Bảng tbl_databases
Nguồn: information_schema.schemata
INSERT INTO admin_db.tbl_databases (db_name, db_engine, server_name, create_time, charset, collation)
SELECT
SCHEMA_NAME,
'InnoDB',
@@hostname,
NOW(),
DEFAULT_CHARACTER_SET_NAME,
DEFAULT_COLLATION_NAME
FROM information_schema.schemata
WHERE SCHEMA_NAME NOT IN ('mysql','information_schema','performance_schema','sys');
🔹 Bảng tbl_tables
Nguồn: information_schema.tables
INSERT INTO admin_db.tbl_tables (
db_name, table_name, engine, row_count, data_length, index_length, last_sync
)
SELECT
TABLE_SCHEMA, TABLE_NAME, ENGINE, TABLE_ROWS, DATA_LENGTH, INDEX_LENGTH, NOW()
FROM information_schema.tables
WHERE TABLE_SCHEMA NOT IN ('mysql','information_schema','performance_schema','sys');
🔹 Bảng tbl_columns
Nguồn: information_schema.columns
INSERT INTO admin_db.tbl_columns (
db_name, table_name, column_name, data_type, is_nullable, column_default, last_sync
)
SELECT
TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT, NOW()
FROM information_schema.columns
WHERE TABLE_SCHEMA NOT IN ('mysql','information_schema','performance_schema','sys');
🧩 2. Nhóm Người dùng & quyền
🔹 user_accounts
Nguồn: mysql.user
INSERT INTO admin_db.user_accounts (
user_id, host, auth_plugin, account_locked, create_time
)
SELECT
user, host, plugin, account_locked, NOW()
FROM mysql.user;
🔹 user_privileges
Nguồn: information_schema.user_privileges
INSERT INTO admin_db.user_privileges (
user_id, db_name, privilege_type, is_grantable
)
SELECT
GRANTEE,
TABLE_SCHEMA,
PRIVILEGE_TYPE,
IS_GRANTABLE
FROM information_schema.schema_privileges
WHERE TABLE_SCHEMA NOT IN ('mysql','information_schema','performance_schema','sys');
🧩 3. Nhóm Giám sát hiệu năng
🔹 perf_query_summary
Nguồn: performance_schema.events_statements_summary_by_digest
INSERT INTO admin_db.perf_query_summary (
db_name, query_text, exec_count, avg_time_ms, max_time_ms, last_seen
)
SELECT
SCHEMA_NAME,
DIGEST_TEXT,
COUNT_STAR,
AVG_TIMER_WAIT/1000000 AS avg_time_ms,
MAX_TIMER_WAIT/1000000 AS max_time_ms,
NOW()
FROM performance_schema.events_statements_summary_by_digest
WHERE SCHEMA_NAME IS NOT NULL;
🔹 perf_wait_summary
Nguồn: performance_schema.events_waits_summary_global_by_event_name
INSERT INTO admin_db.perf_wait_summary (
event_name, count_star, avg_wait, snapshot_time
)
SELECT
EVENT_NAME,
COUNT_STAR,
AVG_TIMER_WAIT/1000000 AS avg_wait,
NOW()
FROM performance_schema.events_waits_summary_global_by_event_name;
🧩 4. Nhóm Dung lượng & ngưỡng
🔹 space_usage
Nguồn: information_schema.tables (tổng hợp theo database)
INSERT INTO admin_db.space_usage (
db_name, data_size_mb, index_size_mb, total_size_mb, recorded_at
)
SELECT
TABLE_SCHEMA,
SUM(DATA_LENGTH)/1024/1024,
SUM(INDEX_LENGTH)/1024/1024,
SUM(DATA_LENGTH+INDEX_LENGTH)/1024/1024,
NOW()
FROM information_schema.tables
WHERE TABLE_SCHEMA NOT IN ('mysql','information_schema','performance_schema','sys')
GROUP BY TABLE_SCHEMA;
🔹 quota_threshold
Tự nhập tay hoặc dùng bảng cấu hình:
INSERT INTO admin_db.quota_threshold (db_name, threshold_mb, alert_level, created_at)
VALUES ('salesdb', 500, 'HIGH', NOW()), ('hrdb', 200, 'MEDIUM', NOW());
🧩 5. Nhóm Backup & Restore logs
🔹 backup_log
Nếu backup bằng mysqldump hoặc script, log được lưu tự động:
INSERT INTO admin_db.backup_log (
backup_type, file_path, backup_size_mb, duration_sec, recorded_at
)
VALUES ('FULL', 'D:\\Backup\\salesdb_full.sql', 128.4, 75, NOW());
🔹 restore_log
INSERT INTO admin_db.restore_log (
db_name, restore_time, source_path, status, verified_by
)
VALUES ('salesdb', NOW(), 'D:\\Backup\\salesdb_full.sql', 'SUCCESS', 'hocvien');
🧩 6. Nhóm Job & Scheduler
🔹 job_definition
INSERT INTO admin_db.job_definition (job_name, description, schedule, status)
VALUES ('daily_backup', 'Backup tất cả database mỗi ngày', 'EVERY 1 DAY', 'ACTIVE');
🔹 job_log
INSERT INTO admin_db.job_log (job_name, run_time, status, duration_sec)
VALUES ('daily_backup', NOW(), 'SUCCESS', 80);
🧩 7. Nhóm Cảnh báo & Tăng trưởng
🔹 alert_log
INSERT INTO admin_db.alert_log (alert_type, severity, message, status, created_at)
VALUES ('SPACE_OVER', 'HIGH', 'Database salesdb vượt ngưỡng 500MB', 'OPEN', NOW());
🔹 growth_history
INSERT INTO admin_db.growth_history (db_name, avg_growth_mb_per_day, predicted_full_date)
SELECT
db_name,
(MAX(total_size_mb) - MIN(total_size_mb)) / COUNT(*),
DATE_ADD(NOW(), INTERVAL 30 DAY)
FROM admin_db.space_usage
GROUP BY db_name;
✅ Kết quả
Khi hoàn tất, cô sẽ có:
tbl_*: chứa cấu trúc hệ thống (database, table, column)user_*: chứa tài khoản và quyềnperf_*: chứa thống kê hiệu năng*_log: ghi nhận backup, restore, alert, jobspace_usage"a_threshold: giám sát dung lượng và cảnh báo

