2023-01-15 14:38:23 Aborted connection 854 to db: 'users' user: 'josh'
df -h /var/lib/mysqldf -h /tmp (複雜查詢產生臨時表)ls -lh /var/lib/mysql/mysql-bin.*解決:清理舊日志、擴容磁碟、遷移大表、調整 expire_logs_days。
myisamchk -dv /path/to/table.MYI 查看 Max data length。解決:遷移至 InnoDB、或 ALTER TABLE tbl MAX_ROWS=1000000000 AVG_ROW_LENGTH=200 增大指針 (需重建表)。
ibdata1) 自動擴展受磁碟限制。innodb_file_per_table=ON) 受單文件限制。SHOW TABLE STATUS LIKE 'tbl'\G 觀察 Data_free。解決:啟用 innodb_file_per_table、添加新數據文件 innodb_data_file_path=ibdata1:12M:autoextend:max:10G:ibdata2:12M:autoextend、清理歷史數據。
tmp_table_size / max_heap_table_size 過小,複雜查詢強制轉磁碟臨時表 (MyISAM),再受磁碟限制。Created_tmp_disk_tables 快速增長。解決:優化 SQL 減少臨時表、適當增大兩參數 (如 64MB)、確保 tmpdir 指向大分區/內存盤。
df -h 檢查所有相關分區 (datadir、tmpdir、log_bin 目錄)。df -i 檢查 inode 是否耗盡 (大量小文件)。SHOW VARIABLES LIKE 'tmp_table_size'; SHOW VARIABLES LIKE 'max_heap_table_size';SHOW TABLE STATUS LIKE 'tbl'\G 確認引擎、行數、數據長度、索引長度、碎片。innodb_file_per_table=ON,便於單表管理與回收空間。OPTIMIZE TABLE 或 ALTER TABLE ... ENGINE=InnoDB 整理碎片。tmpdir 指向獨立大分區或 tmpfs (內存盤,注意容量)。