將 Access 後台數據庫遷移至 MySQL,可顯著提升併發、穩定性與擴展性。本文記錄五步遷移法:安裝配置、數據轉移、結構調優、備份體系、前端連接,並附效能觀察對比。
# 使用 Bullzip 或 Access 導出 -> ODBC -> MySQL
關鍵轉換差異:
| Access 特性 | MySQL 對應 | 處理建議 |
|---|---|---|
| 默認值函數 Now()/Date() | 不支援 | 遷移前刪除默認值,改由應用層或觸發器賦值 |
| Autonumber (自增) | AUTO_INCREMENT | Bullzip 自動轉換;ODBC 導出需手動調整 |
| OLE Object | BLOB / LONGTEXT | 建議改為 LONGTEXT 存路徑,文件外部存儲 |
| 資料類型範圍 | MySQL 範圍更大 | 遷移後按實際業務縮小類型(如 INT→SMALLINT) |
使用 DreamCoder 或 MySQL Administrator 逐表檢查:
AUTO_INCREMENT(否則 Access 連接表不可更新)NULL/NOT NULL 正確DECIMAL(10,2) 存金額)last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 便於審計同步# 圖形化備份:MySQL Administrator -> Backup -> 另存為 .sql
# 命令行自動化:
mysqldump --single-transaction --routines --triggers --events -u root -p dbname > backup_$(date +%F).sql
# 異地恢復:新機安裝 MySQL -> mysql -u root -p dbname < backup.sql
| 指標 | Access 後台 | MySQL 後台 | 備註 |
|---|---|---|---|
| Access 97 前端響應 | 基準 | 明顯更快 | ODBC 驅動成熟 |
| Access 2007 前端響應 | 基準 | 略快 | 新版引擎優化 |
| 記錄源構建方式 | 查詢構建器 | 改用 VBA 手寫 SQL | 速度顯著提升 |