YJYW's Style Life

GCP|將 WordPress 的資料庫從 GCP MySQL 切換回 Web Server MySQL

目的

當 GCP 一年的 free-tier 結束後,GCP MySQL 的費用成為每月帳單上最主要的支出項目之一(另一個則是 Compute Engine)。當時將資料庫從安裝 WordPress 服務的 Compute Engine 移到 GCP MySQL 上,主要是想要練習資料庫的搬遷與設定。既然目前資料庫的使用情況並沒有一定要完全依賴 GCP MySQL 的優點,像是資料庫的備份,其實可以從 phpMyAdmin 手動操作。因此,這篇文章主要是紀錄將 WordPress 的資料庫從 GCP MySQL 切換回 Web Server MySQL 的過程。

方法

本篇使用的方法,可以參考之前寫的文章:

http://35.229.203.132/migrate-wordpress-database-from-web-server-mysql-to-gcp-mysql/

順序則是反過來。

將 GCP MySQL 的資料匯出

「SQL」>「選擇資料庫 Instance」>「Export」>「Cloud Storage export location」選擇檔案輸出的目的地 bucket 與檔案名稱 > 「Format」選「SQL」>「Show advanced options」選擇要匯出的資料庫,多個資料庫以逗點分隔 > 按下「Export」執行匯出。

References
Exporting data using Cloud SQL

從 Storage 下載輸出的 SQL 檔案

前往在上一個步驟中選擇的 Storage bucket,下載匯出的 SQL 檔案。

建立連向 phpMyAdmin 的 SSH tunnel 連線

參考之前寫過的文章:

http://35.229.203.132/how-to-connect-to-phpmyadmin/

關於文中提到的指令:
ssh -L 8888:localhost:80 -l [USERNAME] [VM_IP] -i [SSH_PRIVATE_KEY] -N

[USERNAME] 是登入 VM instance 的使用者名稱。
小提示:可以在「Compute Engine」>「Remote access」>「Open in browser window」,命令列視窗的左側找到。

[VM_IP] 是 VM instance 的外部 IP address。

[SSH_PRIVATE_KEY] 是本地端電腦的 SSH private key。Private key 的產生方式可參考 Creating a new SSH key 這個連結。
使用 SSH + Private key 建立 tunnel 之前,需要先到「Compute Engine」>「Metadata」>「SSH Keys」,將產生的 public key 填入。

References
Creating a new SSH key

匯入 SQL 檔案

這邊比較單純,前往「匯入」> 「由電腦上傳」選擇 SQL 檔案,再按「執行」即可。

但是如果檔案過大,我的情況是檔案 1.2 MB,上傳時 server 回覆 413 Request Entity Too Large
可以參考之前寫過的這篇文章,修改 NGINX 的 config 檔案,將 http 區塊新增 client_max_body_size 10M; 參數

http://35.229.203.132/wordpress-frequently-ask-questions/

上次遇到是發生在 WordPress 後台,網址在 https 底下,所以這次需要在 http 也設定一次。

修改資料庫設定檔

參考之前的文章:修改 WordPress instance 的資料庫設定檔,修改後記得使用指令將相關的服務重新啟動。

關閉 GCP MySQL 的服務

前往 GCP SQL 的頁面,將資料庫 instance 切換為 stop。

Stopped 狀態的 instance 不會繼續被收費,但已使用儲存空間則會被繼續收費(費用與資料庫 instance 相比少很多,大約 1 鎂/月 左右

References
Stopping MySQL instance

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *