在 Linux 系統管理中,MySQL 資料庫的備份與還原是核心技能之一。掌握 mysqldump 工具的正確用法,能確保資料安全無虞。本文將詳細解析完整資料庫的導出與導入流程,並釐清常見的亂碼誤區。
使用 mysqldump 即可輕鬆完成整個資料庫的邏輯備份。標準指令範例如下:
[root]# /usr/bin/mysqldump -h127.0.0.1 -uusername -ppassWord databasename > /opt/share/1/backup.sql
初學者打開導出的 .sql 檔案時,常發現中文顯示為亂碼,實屬正常現象。這是因為導出時未指定字元集(--default-character-set),導致終端機以預設編碼顯示。實際上資料完整性未受損,還原時只要目標資料庫字元集設定正確,資料即可完美回存。
還原前請確認目標資料庫(如 databasename2)已存在。若不存在,需先建立:
mysql -h127.0.0.1 -uusername -ppassWord -e "CREATE DATABASE databasename2 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
隨後執行還原指令:
[root]# /usr/bin/mysql -h127.0.0.1 -uusername -ppassWord databasename2 < /opt/share/1/backup.sql
指令執行完畢無報錯即表示還原成功。
--single-transaction --master-data=2 參數可獲得一致性備份且不阻塞寫入(適用 InnoDB)。gzip 節省空間:mysqldump ... | gzip > backup.sql.gz。crontab 實現每日自動備份。掌握上述流程,即可從容應對 MySQL 資料庫的備份與災難恢復需求。