在 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」具有相同的功能)轉儲伺服器上的所有資料庫。