

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 從未分割資料表封存資料
<a name="archive-unpartitioned-tables"></a>

在無法分割的資料庫資料表中，您可以使用 Percona Toolkit [pt-archiver](https://docs.percona.com/percona-toolkit/pt-archiver.html) 工具，將資料表的資料封存至 MySQL 資料庫中的另一個資料表。

pt-archiver 工具用於將記錄從大型資料表存檔到其他資料表或檔案。這是一種讀取/寫入工具，這表示它會在封存來源資料表之後刪除來源資料表中的資料，因此您不需要單獨管理來源資料刪除。此指令碼的主要目的是從資料表封存舊資料，而不會影響現有的線上交易處理 (OLTP) 查詢負載 （請參閱附錄 I)，並將資料插入相同或不同伺服器上的另一個資料表。

您可以下載 [Percona Toolkit](https://www.percona.com/downloads/percona-toolkit/2.2.14/)，並將其[安裝在](https://docs.percona.com/percona-toolkit/installation.html)本機電腦或 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上，從您連線到資料庫的位置進行安裝。若要執行 pt-archiver 工具，請使用下列語法。

```
pt-archiver --source h=<HOST>,D=<DATABASE>,t=<TABLE>,u=<USER>,p=<PASSWORD> --dest h=<HOST>,D=<DATABASE>,t=<TABLE> --where ""1=1"" --statistics
```

將 `HOST`、`TABLE`、 `DATABASE`和 取代`USER`為您的來源和目的地資料庫詳細資訊和憑證。

您也可以使用 [AWS Batch](https://docs.aws.amazon.com/batch/latest/userguide/what-is-batch.html) 為您的資料表建立和排程此任務。

當您使用 pt-archiver 工具封存資料表的資料時，請考慮下列事項：
+ 在來源資料表上擁有主索引鍵可改善此工具的效能。如果資料表沒有主索引鍵，您可以在[唯一資料欄上建立索引](https://dev.mysql.com/doc/refman/8.0/en/create-index.html#create-index-unique)，這將有助於 pt-archiver 瀏覽資料表的所有資料列並將其封存。
+ 根據預設，pt-archiver 會在封存資料表之後刪除資料。在生產伺服器上執行之前，請務必使用 測試您的封存任務`--dry-run`。或者，您可以使用 `--no-delete`選項。
+ pt-archiver 工具會根據系統負載調整其封存速率 （請參閱附錄 II)。負載較高時，您可以預期封存效能會變慢。

在您執行 pt-archiver 之後，封存的資料應該位於封存結構描述中的對應資料表中。您可以從該處將其移至 Amazon S3。