| 日志類型 | 用途 | 備註 |
|---|---|---|
| 錯誤日志 | 記錄啟動/運行/關閉錯誤 | 默認開啟,不可禁用 |
| ISAM 日志 | 調試 ISAM 表修改 | 已廢棄 |
| 通用查詢日志 | 記錄客戶端連接及所有 SQL | 高並發下性能影響大,建議關閉 |
| 更新日志 | 記錄修改數據的語句 | 已被二進制日志替代 |
| 二進制日志 | 記錄所有數據修改操作 | 主從復制、時間點恢復核心 |
| 慢查詢日志 | 記錄超時或無索引查詢 | 性能調優必開,影響極小 |
復制架構下從庫還有 Relay Log(中繼日志)。
執行 FLUSH LOGS; 或 mysqladmin flush-logs / refresh 可強制關閉當前日志文件並打開新文件(序列號自增)。
[mysqld] log=/var/log/mysqld_common.log # 通用查詢日志 log-error=/var/log/mysqld_err.log # 錯誤日志 log-bin=/var/log/mysqld_bin.bin # 二進制日志 slow_query_log=1 long_query_time=1 slow_query_log_file=/var/log/mysqld_slow.log
SHOW VARIABLES LIKE 'log_bin';SHOW MASTER STATUS;mysqlbinlog 解析:
# 查看完整文件 mysqlbinlog /var/log/mysql/mysql-bin.000040 # 按時間范圍導出 mysqlbinlog --start-datetime='2023-01-01 00:00:00' --stop-datetime='2023-12-31 23:59:59' /var/log/mysql/mysql-bin.000040 > /tmp/audit.log
| 需求 | 命令 |
|---|---|
| 整庫結構+數據 | mysqldump -u用戶 -p密碼 dbName > /path/backup.sql |
| 單表結構+數據 | mysqldump -u用戶 -p密碼 dbName tableName > /path/backup.sql |
| 整庫僅結構 | mysqldump -u用戶 -p密碼 -d dbName > /path/structure.sql |
| 單表僅結構 | mysqldump -u用戶 -p密碼 -d dbName tableName > /path/structure.sql |
注意:導出時按表編碼導出,導入前確保目標庫字符集一致,否則報錯。多庫/多表用逗號或空格分隔。
# 1. 進入 MySQL 客戶端 mysql -h localhost -u用戶 -p密碼 # 2. 創建庫並導入 CREATE DATABASE test; USE test; SOURCE /path/backup.sql;
或命令行直導:mysql -u用戶 -p密碼 dbName < /path/backup.sql