轉儲檔看似純文字,實則結構嚴謹。手動修改極易導致語法錯誤、編碼損壞、還原失敗。需修改時,請重新匯出或用 sed/awk 等工具程式化處理。
[mysqld] myisam_block_size = 4K # 預設 1K,現代檔案系統 4K 對齊更佳
大區塊減少磁碟尋找,提升大表掃描吞吐。需權衡記憶體浪費(小表)。
[mysqld] delay_key_write = ON
CHECK TABLE 或 myisam_recover_options=FORCE,BACKUPINT 對 INT,VARCHAR(20) 對 VARCHAR(20),字元集排序規則一致EXPLAIN 確認 type=ref 而非 ALL-- 僅需存在性檢查 SELECT 1 FROM users WHERE email = 'test@example.com' LIMIT 1; -- 僅需單筆記錄 SELECT * FROM orders WHERE user_id = 100 ORDER BY created_at DESC LIMIT 1;
避免全表掃描,特別是無索引欄位條件。
EXPLAIN SELECT * FROM orders o JOIN users u ON o.user_id = u.id WHERE u.status = 1;
重點關注:type(ALL/index/range/ref/eq_ref/const)、key(實際用到的索引)、rows(預估掃描行數)、Extra(Using where/Using index/Using temporary/Using filesort)。
[mysqld] query_cache_type = 1 query_cache_size = 64M query_cache_limit = 2M
[mysqld] log_error = /var/log/mysql/error.log log_error_verbosity = 3
分析 stack_trace 定位死鎖、段錯誤、異常退出根因。配合 gdb、perf 進階診斷。
[mysqld] sql_mode = STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
TRADITIONAL(等同最嚴格組合)# 修改密碼 mysqladmin -u root -p password 'NewStrongPassw0rd!' # 審計權限 mysql -e "SELECT User, Host FROM mysql.user WHERE User != '';" mysql -e "SHOW GRANTS FOR 'app'@'%';"
#!/bin/bash
# backup.sh
mysqldump --single-transaction --routines --events --master-data=2 \
--flush-logs --hex-blob -u backup_user -p'pass' --databases db1 db2 \
| gzip > /backup/mysql/full_$(date +%F_%H%M).sql.gz
# 校驗備份可還原
gunzip -c /backup/mysql/full_latest.sql.gz | head -20 | grep -q "CREATE DATABASE" && echo "OK" || echo "CORRUPT"
# MySQLTuner wget https://mysqltuner.pl -O mysqltuner.pl perl mysqltuner.pl --user root --pass password # Percona Toolkit 核心工具 pt-query-digest /var/log/mysql/slow.log # 慢查詢分析 pt-duplicate-key-checker --user=root -p # 重複索引檢測 pt-index-usage --user=root -p /var/log/mysql/slow.log # 索引使用率 pt-online-schema-change --alter "ADD INDEX..." D=db,t=tbl --execute # 線上 DDL
| 優先級 | 動作 | 投入產出比 |
|---|---|---|
| P0 | 慢查詢分析 + 索引優化 + SQL 改寫 | 最高,立竿見影 |
| P1 | 配置參數調優 | 高,需重啟驗證 |
| P2 | 架構調整:分庫分表、讀寫分離、快取層 | 高,工程量大 |
| P3 | 硬體升級:SSD、記憶體、CPU | 中,成本高 |
| P4 | 微調:block_size、delay_key_write 等 | 低,邊際效益 |