在 Compute Engine 上複製 MySQL 資料庫

Last reviewed 2019-10-08 UTC

本教學課程說明如何透過兩種方式,複製在 Compute Engine 上執行的 MySQL 資料庫。其中一種方法是使用永久磁碟快照。另一種方法是使用原生 MySQL 匯出和匯入功能,並透過 Cloud Storage 傳輸匯出檔案。Cloud Storage 是 Google Cloud 物件儲存服務。這項服務提供簡單、安全、耐用且高可用性的檔案儲存方式。

複製是將資料庫複製到其他伺服器的程序。副本與來源資料庫無關,且會保留為時間點快照。您可以將複製的資料庫用於各種用途,不必對實際工作環境伺服器造成負擔,也不會影響實際工作環境資料的完整性。包括:

  • 執行分析查詢。
  • 對應用程式進行負載測試或整合測試。
  • 擷取資料以填入資料倉儲。
  • 對資料執行實驗。

本教學課程介紹的每種複製方法各有優缺點。最適合你的方法取決於你的情況。下表重點列出一些主要問題。

問題 方法 1:磁碟快照 方法 2:使用 Cloud Storage 匯出及匯入
MySQL 執行個體需要額外磁碟空間 不需要額外磁碟空間 建立及還原匯出檔案時所需的額外空間
複製期間來源 MySQL 執行個體的額外負載 無額外負載 建立及上傳匯出檔案時,CPU 和 I/O 的額外負載
複製時間 處理大型資料庫的速度相對較快 處理大型資料庫時速度較慢
可從Google Cloud外部的 MySQL 執行個體複製
複雜度 用於連結複製磁碟的複雜指令序列 相對簡單的複製指令集
可運用現有的備份系統 可以,前提是備份系統使用 Google Cloud 磁碟快照 可以,前提是備份系統會將檔案匯出至 Cloud Storage
複製精細程度 只能複製整個磁碟 只能複製指定的資料庫
資料一致性 快照時間點的一致性 匯出時資料一致
可將 Cloud SQL 做為來源 可以,但必須使用相同版本
可將 Cloud SQL 做為目的地

本教學課程假設您熟悉 Linux 指令列和 MySQL 資料庫管理。

目標

  • 瞭解如何在 Google Cloud上執行 MySQL 資料庫。
  • 瞭解如何在次要磁碟上建立示範資料庫。
  • 瞭解如何使用 Compute Engine 磁碟快照複製 MySQL 資料庫。
  • 瞭解如何使用 Cloud Storage 轉移匯出檔案,藉此複製 MySQL 資料庫。
  • 瞭解如何使用 Cloud Storage 轉移匯出檔案,將 MySQL 資料庫複製到 Cloud SQL。

費用

在本文件中,您會使用 Google Cloud的下列計費元件:

如要根據預測用量估算費用,請使用 Pricing Calculator

初次使用 Google Cloud 的使用者可能符合免費試用資格。

完成本文所述工作後,您可以刪除已建立的資源,避免繼續計費。詳情請參閱清除所用資源一節。

事前準備

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. 啟用 Compute Engine API。
  7. 啟用 API

設定環境

如要完成本教學課程,您需要使用下列項目設定運算環境:

  • Compute Engine 上的 MySQL 執行個體 (名為 mysql-prod),代表您的正式版資料庫伺服器。
  • 附加至實際工作環境伺服器的額外磁碟 (名為 mysql-prod-data),用於儲存實際工作環境資料庫。
  • Employees資料庫副本會匯入 mysql-prod,模擬您要複製的實際工作環境資料庫。
  • Compute Engine 上的 MySQL 執行個體 (名為 mysql-test),代表您的測試資料庫伺服器。您會將資料庫複製到這個伺服器。

下圖說明這個架構。

本教學課程中,複製 MySQL 資料庫的設定圖。

建立正式環境 VM 執行個體

如要模擬正式環境,請設定在 Debian Linux 上執行 MySQL 的 Compute Engine VM 執行個體。

本教學課程的 VM 執行個體使用兩個磁碟:一個 50 GB 的磁碟用於作業系統和使用者帳戶,另一個 100 GB 的磁碟用於資料庫儲存空間。

在 Compute Engine 中,使用個別磁碟不會帶來任何效能優勢。磁碟效能取決於附加至執行個體的所有磁碟總儲存空間容量,以及 VM 執行個體的 vCPU 總數。因此資料庫和記錄檔可以位於同一個磁碟。

  1. 開啟 Cloud Shell。

    開啟 Cloud Shell

  2. 設定偏好的可用區:

    ZONE=us-east1-b
    REGION=us-east1
    gcloud config set compute/zone "${ZONE}"
    
  3. 建立 Compute Engine 執行個體:

    gcloud compute instances create mysql-prod \
        --machine-type=n1-standard-2 \
        --scopes=cloud-platform \
        --boot-disk-size=50GB \
        --boot-disk-device-name=mysql-prod \
        --create-disk="mode=rw,size=100,type=pd-standard,name=mysql-prod-data,device-name=mysql-prod-data"
    

    這個指令會授予執行個體 Google Cloud API 的完整存取權、建立 100 GB 的次要磁碟,並將磁碟附加至執行個體。忽略磁碟效能警告,因為本教學課程不需要高效能。

設定其他磁碟

連結至實際工作環境執行個體的第二個磁碟,是用來儲存實際工作環境資料庫。這個磁碟是空白的,因此您需要進行分割、格式化和掛接。

  1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面

    前往 VM 執行個體頁面

  2. 確認 mysql-prod 執行個體名稱旁顯示綠色勾號 ,表示執行個體已準備就緒。

  3. 按一下 mysql-prod 執行個體旁邊的「SSH」SSH按鈕。瀏覽器會開啟對於執行個體的終端機連線。

  4. 在終端機視窗中,顯示附加至執行個體的磁碟清單:

    lsblk
    

    輸出內容如下:

    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda      8:0    0   50G  0 disk
    └─sda1   8:1    0   50G  0 part /
    sdb      8:16   0  100G  0 disk
    

    名為 sdb 的磁碟 (100 GB) 是資料磁碟。

  5. 格式化 sdb 磁碟,並以 ext4 檔案系統建立單一磁碟分割區:

    sudo mkfs.ext4 -m 0 -F -E lazy_itable_init=0,lazy_journal_init=0,discard \
        /dev/sdb
    
  6. 建立 MySQL 資料目錄,做為資料磁碟的掛接點:

    sudo mkdir -p /var/lib/mysql
    
  7. 如要在您建立的掛接點自動掛接磁碟,請在 /etc/fstab 檔案中新增項目:

    echo "UUID=`sudo blkid -s UUID -o value /dev/sdb` /var/lib/mysql ext4 discard,defaults,nofail 0 2" \
       | sudo tee -a /etc/fstab
    
  8. 掛接磁碟:

    sudo mount -av
    
  9. 從資料磁碟移除所有檔案,讓 MySQL 可將其做為資料目錄:

    sudo rm -rf /var/lib/mysql/*
    

安裝 MySQL 伺服器

您需要下載並安裝 MySQL Community Edition。MySQL 資料目錄會建立在額外磁碟上。

  1. 在連線至 mysql-prod 的 SSH 工作階段中,下載並安裝 MySQL 設定套件:

    wget http://repo.mysql.com/mysql-apt-config_0.8.13-1_all.deb
    sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb
    
  2. 系統提示時,請選取「MySQL Server & Cluster」(MySQL 伺服器和叢集) 選項,然後選取「mysql-5.7」

  3. 在清單中選取「Ok」選項,完成套件設定。

  4. 重新整理存放區快取,並安裝 mysql-community 套件:

    sudo apt-get update
    sudo apt-get install -y mysql-community-server mysql-community-client
    
  5. 如果系統警告資料目錄已存在,請選取「確定」

  6. 系統提示您提供根密碼時,請建立並輸入密碼。記下密碼,或暫時儲存在安全的地方。

下載並安裝範例資料庫

  1. 在連線至 mysql-prod 執行個體的 SSH 工作階段中,安裝 Git:

    sudo apt-get install -y git
    
  2. 複製包含 Employees 資料庫指令碼的 GitHub 存放區

    git clone https://github.com/datacharmer/test_db.git
    
  3. 將目錄變更為 Employees 資料庫指令碼的目錄:

    cd test_db
    
  4. 執行 Employees 資料庫建立指令碼:

    mysql -u root -p -q < employees.sql
    

    系統出現提示時,輸入您先前建立的根密碼。

  5. 如要驗證範例資料庫是否正常運作,可以執行查詢來計算 employees 資料表中的列數:

    mysql -u root -p -e "select count(*) from employees.employees;"
    

    系統出現提示時,輸入您先前建立的根密碼。

    輸出內容如下:

    +----------+
    | count(*) |
    +----------+
    |   300024 |
    +----------+
    

建立測試 VM 執行個體

在本節中,您將建立名為 mysql-test 的 MySQL VM 執行個體,做為複製資料庫的目的地。這個執行個體的設定與正式版執行個體相同。不過,您不會建立第二個資料磁碟,而是會在稍後的教學課程中附加資料磁碟。

  1. 開啟 Cloud Shell。

    開啟 Cloud Shell

  2. 建立測試 MySQL 執行個體:

    gcloud compute instances create mysql-test \
      --machine-type=n1-standard-2 \
      --scopes=cloud-platform \
      --boot-disk-size=50GB \
      --boot-disk-device-name=mysql-test
    

    您可以忽略磁碟效能警告,因為本教學課程不需要高效能。

在測試 VM 執行個體上安裝 MySQL 伺服器

您也需要在 mysql-test VM 執行個體上,下載並安裝 MySQL Community Edition。

  1. 在連線至 mysql-test 的 SSH 工作階段中,下載並安裝 MySQL 設定套件:

    wget http://repo.mysql.com/mysql-apt-config_0.8.13-1_all.deb
    sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb
    
  2. 系統提示時,請選取「MySQL Server & Cluster」(MySQL 伺服器和叢集) 選項,然後選取「mysql-5.7」

  3. 在清單中選取「Ok」選項,完成套件設定。

  4. 重新整理存放區快取,並安裝 mysql-community 套件:

    sudo apt-get update
    sudo apt-get install -y mysql-community-server mysql-community-client
    
  5. 系統提示您提供根密碼時,請建立並輸入密碼。記下密碼,或暫時儲存在安全的地方。

使用 Compute Engine 磁碟快照複製資料庫

如要複製在 Compute Engine 上執行的 MySQL 資料庫,其中一種方法是將資料庫儲存在獨立的資料磁碟上,並使用永久磁碟快照建立該磁碟的副本。

永久磁碟快照可讓您取得磁碟資料的時間點副本。排定磁碟快照時間,是自動備份資料的方法之一。

在本教學課程的這個部分,您將執行以下操作:

  • 為生產伺服器的資料磁碟建立快照。
  • 使用快照建立新磁碟。
  • 將新磁碟掛接到測試伺服器。
  • 重新啟動測試執行個體上的 MySQL 伺服器,讓伺服器將新磁碟做為資料磁碟。

下圖顯示如何使用磁碟快照複製資料庫。

這張圖顯示使用磁碟快照複製 MySQL 資料庫的設定。

建立磁碟快照

  1. 開啟 Cloud Shell。

    開啟 Cloud Shell

  2. 在與 VM 執行個體相同的區域中,建立資料磁碟的快照:

    gcloud compute disks snapshot mysql-prod-data \
         --snapshot-names=mysql-prod-data-snapshot \
         --zone="${ZONE}"
    

    幾分鐘後,快照就會建立完成。

將磁碟快照附加至測試執行個體

您需要從建立的快照建立新的資料磁碟,然後將其附加至 mysql-test 執行個體。

  1. 開啟 Cloud Shell。

    開啟 Cloud Shell

  2. 使用生產環境磁碟的快照做為內容,建立新的永久磁碟:

    gcloud beta compute disks create mysql-test-data \
         --size=100GB \
         --source-snapshot=mysql-prod-data-snapshot \
         --zone="${ZONE}"
    
  3. 將新磁碟連結至 mysql-test 執行個體,並授予讀寫權限:

    gcloud compute instances attach-disk mysql-test \
        --disk=mysql-test-data --mode=rw
    

在 Linux 中掛接新資料磁碟

如要將複製的資料磁碟做為 MySQL 資料目錄,您需要停止 MySQL 執行個體並掛接磁碟。

  1. 在連線至 mysql-test 的 SSH 工作階段中,停止 MySQL 服務:

    sudo service mysql stop
    
  2. 在終端機視窗中,顯示附加至執行個體的磁碟清單:

    lsblk
    

    輸出內容如下:

    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda      8:0    0   50G  0 disk
    └─sda1   8:1    0   50G  0 part /
    sdb      8:16   0  100G  0 disk
    

    名為 sdb 的磁碟 (100 GB) 是資料磁碟。

  3. 將 MySQL 資料磁碟掛接到 MySQL 資料目錄:

    sudo mount -o discard,defaults /dev/sdb /var/lib/mysql
    

    掛接這個磁碟會隱藏所有 MySQL 設定檔和表空間,並以磁碟內容取而代之。

    使用這項指令時,磁碟會暫時掛接,系統啟動時不會重新掛接。如要在系統啟動時掛接磁碟,請建立 fstab 項目。詳情請參閱本教學課程先前所述的「設定額外磁碟」一節。

在測試執行個體中啟動 MySQL

  1. 在連線至 mysql-test 的 SSH 工作階段中,啟動 MySQL 服務:

    sudo service mysql start
    
  2. 如要確認複製的資料庫是否正常運作,請執行查詢,計算 employees 資料表中的列數:

    mysql -u root -p -e "select count(*) from employees.employees;"
    

    系統提示時,請輸入 mysql-prod 資料庫伺服器的根密碼。由於整個 MySQL 資料目錄是 mysql-prod執行個體資料目錄的副本,因此所有資料庫、資料庫使用者及其密碼都會一併複製,因此需要提供正式版執行個體的根密碼。

    +----------+
    | count(*) |
    +----------+
    |   300024 |
    +----------+
    

    列數與 mysql-prod 執行個體相同。

您已瞭解如何使用 Persistent Disk 快照複製資料庫,現在不妨試試匯出及匯入資料庫。如要完成第二種方法的教學課程,請務必卸載複製的磁碟。

卸載複製的磁碟

如要卸載使用磁碟快照建立的複製磁碟,請執行下列步驟:

  1. 在連線至 mysql-test 執行個體的 SSH 工作階段中,停止 MySQL 服務:

    sudo service mysql stop
    
  2. 從 MySQL 資料目錄卸載複製的資料磁碟:

    sudo umount /var/lib/mysql
    
  3. 重新啟動 MySQL 服務:

    sudo service mysql start
    

使用匯出和匯入功能複製

複製在 Compute Engine 上執行的 MySQL 資料庫的第二種方法,是使用 MySQL 的內建匯出 (使用 mysqldump) 和匯入功能。使用這種方法時,您會透過 Cloud Storage 轉移匯出檔案。

本教學課程的這一節會使用您在「使用 Compute Engine 磁碟快照複製資料庫」一節中建立的資源。如未完成該節內容,請務必先完成再繼續。

在本教學課程的這個部分,您將執行以下操作:

  • 建立 Cloud Storage bucket。
  • 匯出正式版執行個體上的資料庫,並寫入 Cloud Storage。
  • 將匯出檔案匯入測試執行個體,並從 Cloud Storage 讀取檔案。

下圖顯示如何透過 Cloud Storage 傳輸匯出內容,藉此複製資料庫。

這張圖顯示使用 Cloud Storage 複製 MySQL 資料庫的設定。

由於 Google Cloud 外部的系統可以存取 Cloud Storage,因此您可以使用這種方法,從外部 MySQL 執行個體複製資料庫。

建立 Cloud Storage 值區

您需要建立 Cloud Storage bucket,在將匯出檔案從 mysql-prod 執行個體轉移至 mysql-test 執行個體時儲存這些檔案。

  1. 開啟 Cloud Shell。

    開啟 Cloud Shell

  2. 在與 VM 執行個體相同的區域中建立 Cloud Storage bucket:

    gcloud storage buckets create "gs://$(gcloud config get-value project)-bucket" --location="${REGION}"
    

匯出資料庫

在實際工作環境中,您可能已使用 mysqldump 匯出檔案進行備份。您可以將這些備份做為複製資料庫的基礎。

在本教學課程中,您將使用 mysqldump 建立新的匯出檔案,這不會影響任何現有的完整或增量備份排程。

  • 在連線至 mysql-prod 執行個體的 SSH 工作階段中,匯出 Employees 資料庫,並將其串流至先前建立的 bucket 中的 Cloud Storage 物件:

    mysqldump --user=root -p --default-character-set=utf8mb4 --add-drop-database --verbose  --hex_blob \
        --databases employees |\
         gcloud storage cp - "gs://$(gcloud config get-value project)-bucket/employees-dump.sql"
    

    系統提示時,請輸入 mysql-prod 資料庫伺服器的根密碼。

    您可以在匯出作業中使用 utf8mb4 字元集,避免發生任何字元編碼問題。

    使用 --add-drop-database 選項,以便在匯出作業中納入 DROP DATABASECREATE DATABASE 陳述式。

匯入匯出的檔案

  1. 在連線至 mysql-test 執行個體的 SSH 工作階段中,將從 Cloud Storage 值區匯出的檔案串流至 mysql 指令列應用程式:

    gcloud storage cat "gs://$(gcloud config get-value project)-bucket/employees-dump.sql" |\
        mysql --user=root -p --default-character-set=utf8mb4
    

    系統提示時,請輸入 mysql-test 資料庫伺服器的根密碼。

    在匯入時使用 utf8mb4 字元集,避免發生任何字元編碼問題。

  2. 如要確認複製的資料庫是否正常運作,請執行查詢,計算 employees 資料表中的列數:

    mysql -u root -p -e "select count(*) from employees.employees;"
    

    系統提示時,請輸入 mysql-test 資料庫伺服器的根密碼。

    +----------+
    | count(*) |
    +----------+
    |   300024 |
    +----------+
    

    列數與 mysql-prod 執行個體相同。

將 Cloud SQL 做為複製目的地

如果目標資料庫託管於 Cloud SQL,而來源資料庫位於 Compute Engine,則唯一支援的複製機制是將資料庫匯出至 Cloud Storage,然後將資料庫匯入 Cloud SQL。

Cloud SQL 說明文件所述,匯出的檔案不得包含任何觸發條件、預存程序、視圖或函式,否則 Cloud SQL 無法匯入。

如果資料庫需要上述任何一種元素,您必須使用 --skip-triggers--ignore-table [VIEW_NAME] 命令行引數,將這些元素從匯出作業中排除,然後在匯入後手動重新建立。

建立 MySQL 適用的 Cloud SQL 執行個體

  1. 開啟 Cloud Shell。

    開啟 Cloud Shell

  2. 建立 MySQL 適用的 Cloud SQL 執行個體,並執行與 mysql-prod 執行個體相同的資料庫版本:

    gcloud sql instances create mysql-cloudsql \
        --tier=db-n1-standard-2 --region=${REGION} --database-version MYSQL_5_7
    

    幾分鐘後,Cloud SQL 資料庫就會建立完成。

  3. 將超級使用者密碼重設為已知值:

    gcloud sql users set-password root \
        --host=% --instance=mysql-cloudsql  --prompt-for-password
    

    系統提示您提供根密碼時,請建立並輸入密碼。記下密碼,或暫時儲存在安全的地方。

匯出資料庫

如要匯出資料庫,並以適合匯入 Cloud SQL 的格式匯出,您必須排除資料庫中的所有檢視區塊。

  1. 在連線至 mysql-prod 執行個體的 SSH 工作階段中,設定環境變數,其中包含 mysqldump 指令的一組指令列引數,以便忽略 Employees 資料庫中的檢視區塊:

    DATABASE_NAME=employees
    IGNORE_TABLES_ARGS="`mysql -u root -p -s -s -e \"
        SELECT CONCAT('--ignore-table ${DATABASE_NAME}.',TABLE_NAME)
        FROM information_schema.TABLES
        WHERE TABLE_TYPE LIKE 'VIEW' AND TABLE_SCHEMA = '${DATABASE_NAME}';
        \"`"
    

    系統提示時,請輸入 mysql-prod 資料庫伺服器的根密碼。

  2. 查看變數內容,確認變數是否設定正確:

    echo "${IGNORE_TABLES_ARGS}"
    
    --ignore-table employees.current_dept_emp
    --ignore-table employees.dept_emp_latest_date
    
  3. 匯出 Employees 資料庫 (不含觸發程序和檢視區塊),並直接串流至先前建立的 bucket 中的 Cloud Storage 物件:

    mysqldump --user=root -p --default-character-set=utf8mb4 --add-drop-database --verbose \
        --hex-blob --skip-triggers --set-gtid-purged=OFF \
        $IGNORE_TABLES_ARGS \
        --databases employees |\
        gcloud storage cp - "gs://$(gcloud config get-value project)-bucket/employees-cloudsql-import.sql"
    

    系統提示時,請輸入 mysql-prod 資料庫伺服器的根密碼。

更新物件權限

您必須在 Cloud Storage 值區和匯出物件上設定正確的權限,Cloud SQL 服務帳戶才能讀取這些項目。使用 Google Cloud 控制台匯入物件時,系統會自動設定這些權限,您也可以使用 gcloud 指令設定權限。

  1. 開啟 Cloud Shell。

    開啟 Cloud Shell

  2. 設定環境變數,其中包含 Cloud SQL 執行個體服務帳戶的位址:

    CLOUDSQL_SA="$(gcloud sql instances describe mysql-cloudsql --format='get(serviceAccountEmailAddress)')"
    
  3. 將服務帳戶新增至值區身分與存取權管理 (IAM) 政策,做為讀取者和寫入者:

    gcloud storage buckets add-iam-policy-binding "gs://$(gcloud config get-value project)-bucket/" \
        --member=user:"${CLOUDSQL_SA}" --role=roles/storage.objectUser
    

匯入匯出的資料庫

  1. 開啟 Cloud Shell。

    開啟 Cloud Shell

  2. 將匯出的檔案匯入 Cloud SQL 執行個體:

    gcloud sql import sql mysql-cloudsql \
        "gs://$(gcloud config get-value project)-bucket/employees-cloudsql-import.sql"
    

    系統顯示提示訊息時,請輸入 y

  3. 如要確認複製的資料庫是否正常運作,請執行查詢,計算 employees 資料表中的列數:

    echo "select count(*) from employees.employees;" |\
        gcloud sql connect mysql-cloudsql --user=root
    

    系統出現提示時,請輸入 mysql-cloudsql 資料庫伺服器的根密碼。

    輸出內容如下:

    Connecting to database with SQL user [root].Enter password:
    count(*)
    300024
    

    列數與 mysql-prod 執行個體相同。

正式版系統的其他資訊

下列類別提供生產系統的其他最佳做法。

使用磁碟快照

如果是實體備份 (例如磁碟快照),MySQL 說明文件建議您先暫停寫入資料庫,再建立快照。方法是使用 FLUSH TABLES WITH READ LOCK 指令。快照完成後,您可以使用 UNLOCK TABLES 重新啟動寫入作業。

如果資料庫使用 InnoDB 資料表,建議您直接建立快照,不必先執行 FLUSH TABLES WITH READ LOCK 指令。這樣一來,資料庫就能繼續運作,不會受到任何不良影響,但快照可能處於不一致的狀態。不過,如果發生這種情況,InnoDB 引擎會在複製作業啟動時重建資料表,使其處於一致狀態。

如果資料庫使用 MyISAM 資料表,執行 FLUSH TABLES WITH READ LOCK 指令會封鎖所有資料表寫入作業,導致資料庫處於唯讀狀態,直到您執行 UNLOCK TABLES 指令為止。

如果沒有先排清並鎖定資料表就建立快照,新複製的資料庫可能會包含不一致的資料,或遭到損毀。

因此,如要取得使用 MyISAM 資料表的資料庫一致性快照,建議您在讀取複本上執行 FLUSH TABLES WITH READ LOCK,並建立該複本的快照,以免影響主要 (主) 資料庫的效能。

使用 mysqldump 指令

為建立與來源資料庫一致的匯出檔案,mysqldump 指令會在匯出作業期間鎖定所有資料表。也就是說,資料庫匯出期間,系統會封鎖資料庫寫入作業。

因此,建議您對主要資料庫的讀取副本執行 mysqldump 指令,以免主要資料庫遭到封鎖。

清除所用資源

如要避免系統向您的 Google Cloud 帳戶收取本教學課程中所用資源的相關費用,請刪除您為本教學課程建立的 Google Cloud 專案。

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

後續步驟