首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Linux 環境下 MySQL 資料庫完整備份與還原實戰指南

     編輯:MySQL 資料庫相關知識

前言

在 Linux 系統管理中,MySQL 資料庫的備份與還原是核心技能之一。掌握 mysqldump 工具的正確用法,能確保資料安全無虞。本文將詳細解析完整資料庫的導出與導入流程,並釐清常見的亂碼誤區。

一、資料庫備份(導出)操作

使用 mysqldump 即可輕鬆完成整個資料庫的邏輯備份。標準指令範例如下:

[root]# /usr/bin/mysqldump -h127.0.0.1 -uusername -ppassWord databasename > /opt/share/1/backup.sql

參數詳解

  • -h:指定資料庫主機位址(本機可用 127.0.0.1 或 localhost)。
  • -u:資料庫連線使用者名稱。
  • -p:使用者密碼(注意:-p 後直接接密碼,中間無空格;若為安全起見,可只輸入 -p 並在提示時輸入)。
  • databasename:欲備份的目標資料庫名稱。
  • > /path/backup.sql:利用 Shell 重導向將輸出寫入指定的 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 資料庫的備份與災難恢復需求。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved