因為 RDS 平常使用的使用者並沒有最高權限,所以會出現 Access denied; you need (at least one of) the SUPER or SYSTEM_VARIABLES_ADMIN privilege(s) for this operation
的訊息,所以在備份的時候需要特別處理,以下記錄一下備份的指令跟方法。
匯出 Database
使用 mysqldump 匯出 Database 這邊的範例會匯出資料庫名稱 prod_database 的資料庫到 data-dump.sql
mysqldump -h prod.xxxx.us-east-1.rds.amazonaws.com \ -u admin -p \ --column-statistics=0 \ --no-tablespaces \ --set-gtid-purged=OFF \ --databases prod_database \ > data-dump.sql
匯出後檢查檔案
匯出後檢查一下檔案的開頭確定有備份成功,而我使用的作業系統是 macos11.3 上面也會紀錄
head -n 5 data-dump.sql -- MySQL dump 10.13 Distrib 8.0.26, for macos11.3 (x86_64) -- -- Host: 127.0.0.1 Database: prod_database -- ------------------------------------------------------ -- Server version 5.7.12
匯入 Database
再匯入前先登入 mysql 建立資料庫
mysql -u admin -p
使用 CREATE DATABASE 指令建立資料庫
mysql> CREATE DATABASE prod_database; Output Query OK, 1 row affected (0.00 sec)
匯入資料庫
建立完資料庫就可以使用 mysql 指令把資料庫裡面的資料匯入回去對應的資料庫了
mysql -u admin -p prod_database < data-dump.sql
《AWS CDK 完全學習手冊:打造雲端基礎架構程式碼 IaC》
第 12 屆 iT 邦幫忙鐵人賽 DevOps 組冠的《用 CDK 定 義 AWS 架構》
第 11 屆 iT 邦幫忙鐵人賽《LINE bot 好好玩 30 天玩轉 LINE API》
一個熱愛分享的雲端工程師!