IBM Cloud Docs
在 Linux 中備份 MySQL

在 Linux 中備份 MySQL

依預設,Linux 伺服器上的 MySQL 資料庫會儲存至下列目錄:

/var/lib/mysql/

如果您先關閉 mysqld 服務,則可以使用下列指令,將資料庫複製到範例 /backup 目錄:

cp –Rp /var/lib/mysql/*.* /backup

–R 開關用於_CP_命令意味著遞歸,您要使用它,因為每個資料庫都位於單獨的目錄中。 -p 參數是表示許可權,可維護所複製項目的許可權。

一般而言,您會先關閉 mysqld 服務,再使用之前的方法。 如果複製正在使用的資料庫,則備份會毀損,並呈現為無用。 如果您確定沒有任何資料庫正在使用,則可以使用前面的命令。

mysqldump 指令

您可以使用 mysqldump 指令來備份伺服器上的個別資料庫及所有資料庫,而不需要關閉 mysqld 服務。 因為這可以製作備份,同時仍保持資料庫上線,所以偏好使用此方法。

個別資料庫

以下程式碼是用於備份名為的資料庫的範例命令_'例子'_到目錄 /backup 以 root 身分登入時:

mysqldump example > /backup/example_backup.sql

除非它是小型資料庫,否則請接著壓縮資料庫備份,以減少備份傳送時間量。 下列指令會壓縮範例資料庫的備份:

tar czvf /backup/example_backup.tar.gz /backup./example_backup.sql

所有資料庫

如果您有數個要備份的資料庫,則下列指令會將伺服器上的所有 MySQL 資料庫都備份到 /backup 目錄:

mysqldump -A > /backup/databases.sql(or --all-databases)

–A 開關(「-all-databases」具有相同的功能)轉儲伺服器上的所有資料庫。