| 參數 | 作用 | 建議 |
| --single-transaction | InnoDB 一致性快照 | InnoDB 必加 |
| --quick | 流式讀取,不緩存全表 | 大表必加 |
| --master-data=2 | 註解記錄 Binlog 位置 | 主從同步基準 |
| --hex-blob | 二進位欄位十六進位 | 避免編碼問題 |
| --routines/triggers/events | 包含存儲過程/觸發器/事件 | 完整備份必加 |
| --compress | 網路傳輸壓縮 | 遠端備份加速 |
| --no-create-info | 僅資料,無 CREATE TABLE | 資料遷移 |
| --no-data | 僅結構 | 結構同步 |
匯入還原
# 方式一:mysql 命令(推薦大檔)
mysql -u root -p db_name < backup.sql
# 方式二:source 命令(需進入 mysql>)
mysql -u root -p
mysql> CREATE DATABASE IF NOT EXISTS db_name;
mysql> USE db_name;
mysql> SOURCE /path/backup.sql;
# 方式三:壓縮檔直接導入
zcat backup.sql.gz | mysql -u root -p db_name
mysqlimport / LOAD DATA 高效匯入
# mysqlimport(檔名=表名)
mysqlimport -u root -p --local \
--fields-terminated-by=, --fields-enclosed-by='"' \
--lines-terminated-by='\n' \
--ignore-lines=1 \
db_name /path/file.txt
# LOAD DATA INFILE(SQL 介面,支援欄位映射)
LOAD DATA LOCAL INFILE '/path/file.csv'
INTO TABLE tbl
CHARACTER SET utf8mb4
FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '\\'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(col1, col2, col3); -- 指定欄位順序,CSV 欄位可不同順序
SELECT INTO OUTFILE 匯出
-- 僅資料,可指定格式
SELECT col1, col2, col3
INTO OUTFILE '/tmp/export.csv'
FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '\\'
LINES TERMINATED BY '\n'
FROM tbl WHERE created > '2023-01-01';
-- 結合報表產生
USE db;
SELECT 'ID','Name','Email'
UNION ALL
SELECT id, name, email FROM users WHERE status=1
INTO OUTFILE '/tmp/report.csv'
FIELDS TERMINATED BY ',' ENCLOSED BY '"';
Linux 權限管理速查
| 符號 | 數字 | 含義 |
| rwx------ | 700 | 擁有者全權 |
| rwxr--r-- | 744 | 擁有者全權,其他讀 |
| rw-rw-r-x | 665 | 擁有者/群組讀寫,其他讀執行 |
| drwx--x--x | 711 | 目錄:擁有者全權,其他進入 |
chmod 700 /backup/mysql # 單目錄
chmod -R 700 /backup/mysql # 遞歸
chown mysql:mysql /backup/mysql # 歸屬 mysql 用戶
常見問題排查