Google Cloud SQL 是全代管的資料庫服務,可讓您在雲端輕鬆設定、維護、維護和管理關聯式 MySQL 資料庫。
在這個研究室中,我們會建立新的空白 Cloud SQL 執行個體,使用 MySQL 指令列介面連線至該執行個體,然後建立新的空白資料庫。
課程內容
- 如何在 Google Cloud Console 中存取 Cloud SQL 網頁版 UI。
- 如何使用 Google Cloud Console 建立 Cloud SQL 執行個體。
- 如何使用 Google Cloud Console 設定根密碼。
- 如何透過 Cloud Shell 連線至 Cloud SQL 執行個體。
- 如何使用 Google Cloud Console 刪除 Cloud SQL 執行個體。
軟硬體需求
您要如何使用本教學課程?
您對於 Google Cloud Platform 服務和 Firebase 服務的評價如何?
自行調整環境設定
如果您還沒有 Google 帳戶 (Gmail 或 Google Apps),請先建立帳戶。登入 Google Cloud Platform 主控台 (console.cloud.google.com),然後建立新專案:
提醒您,專案編號是所有 Google Cloud 專案的不重複名稱 (使用上述名稱後就無法使用,敬請見諒!)此程式碼研究室稍後將稱為 PROJECT_ID
。
接著,您必須在 Cloud Console 中啟用計費功能,才能使用 Google Cloud 資源。
完成這個程式碼研究室的成本應該不會超過新臺幣 $300 元,但如果您決定繼續使用更多資源,或是讓資源繼續運作 (請參閱本文件結尾的「清除設定」一節),就有可能需要更多成本。
新加入 Google Cloud Platform 的使用者可免費試用 $300 美元。
在 Google Cloud Console 中,按一下畫面左上角的「選單」圖示:
向下捲動並選取「SQL」子區段的「SQL」:
您現在應該會看到 Cloud SQL 網頁版 UI。假設您目前使用的專案目前沒有任何 Cloud SQL 執行個體,系統會顯示對話方塊,邀請您建立新的 Cloud SQL 執行個體。
如果您要使用的專案已擁有一或多個 Cloud SQL 執行個體,則會看到這些執行個體的清單:
假設您的專案沒有任何 Cloud SQL 執行個體,請按下 [Create instance] (建立執行個體) 按鈕來建立執行個體:
如果您使用的專案已有一或多個 Cloud SQL 執行個體,請在「執行個體」畫面中按下 [建立執行個體] 按鈕,如下所示:
無論是哪一種情況,系統都會顯示「選擇執行個體類型」頁面。在本程式碼研究室中,我們將建立 Cloud SQL 第二代執行個體。按一下 [選擇第二代]。
系統隨即會將您導向「建立執行個體」頁面。您必須為執行個體指定名稱。這個名稱在專案內不能重複,不能在所有專案中使用。因此,假設您在專案中沒有其他 Cloud SQL 執行個體,可以使用本範例中顯示的執行個體代碼 codelab-0。在 [執行個體 ID] 方塊中輸入「codelab-0」。為這個程式碼研究室的用途,其他設定可保留預設值。
請注意,刪除 Cloud SQL 執行個體後,您最多在一週之內無法重複使用該執行個體名稱。如果您打算在實驗期間使用本專案,請務必選用與實際名稱不同的執行個體名稱,或是發現您無法將該執行個體名稱重複使用一段時間。
捲動至頁面底部,然後按下 Create (建立)。
系統會將您導向「Instances」(執行個體) 頁面,您會在其中看到新執行個體,旁邊有旋轉圖示,表示該執行個體仍在建立中:
2 或 3 分鐘後,即可啟動執行個體。綠色勾號則代表藍色旋轉圖示。請務必不時重新整理頁面:
您的 Cloud SQL 執行個體已準備就緒。
按一下執行個體名稱,開啟執行個體詳細資料頁面,然後按一下 [存取權控管]:
在「存取權控管」分頁中,按下 [使用者]:
在「使用者」分頁中,按一下 [變更根密碼]:
在「變更密碼」網頁上輸入新密碼,然後按下 [確定]:
按下 Google Cloud Console 中的提示按鈕以啟用 Google Cloud Shell:
如果這是您第一次針對這項專案使用 Google Cloud Shell,系統會顯示 Google Cloud Shell 畫面。按一下 [Start Cloud Shell]
新版 Cloud Shell 會顯示在 Google Cloud Console 底部;如果您在首次使用 Google Cloud Shell 時,按下 [開始 Cloud Shell] 即可;如果該專案是本專案第一次使用,請點選 [啟用 Google Cloud Shell] 按鈕。
使用下方顯示的 gcloud sql 指令來連結 Cloud SQL 執行個體,但請以「codelab-0」取代執行個體名稱 (如果不同的話):
gcloud sql connect codelab-0 --user=root
您應該會看到:
$ gcloud sql connect codelab-0 --user=root Whitelisting your IP for incoming connection for 1 minute...done. Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 11302 Server version: 5.6.29-google-log (Google) Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective Owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
在此之前,系統會提示您輸入您在上一個步驟中設定的密碼。現在已具備功能完善的 MySQL 提示,並以「Root」權限登入。您可以使用這個指令來輸入 SQL 陳述式 (例如這個陳述式,以建立名為「&labt」的新資料庫):
mysql> CREATE DATABASE codelab; Query OK, 1 row affected (0.00 sec)
如果查詢傳回「確定」,表示執行個體能夠正常運作。讓我們離開並載入一些範例資料來執行一些實際查詢。
輸入「exit;'」並按下 Enter 鍵,結束 mysql 提示。
我們將載入可在官方 MySQL 說明文件中找到的員工樣本資料集。
首先,我們需要下載指令碼和資料:
$ wget https://codeload.github.com/datacharmer/test_db/zip/master -O sampledb.zip $ unzip sampledb.zip && cd test_db-master
第二,我們必須建立資料庫和資料表,然後載入資料。再次提醒您,如果程式碼不同,請將 codelab-0 替換為您的執行個體名稱:
$ gcloud sql connect codelab-0 --user=root < employees.sql
現在我們可以查詢資料,以下提供一些查詢範例。另外,您也可以自行建立查詢。如要熟悉 db 結構定義,請查看 employees.sql
檔案。請先登入 SQL 提示,然後切換至員工資料庫。同樣地,請將 codelab-0
替換成您的執行個體名稱 (如果不同的話):
$ gcloud sql connect codelab-0 --user=root mysql> USE employees; Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -A Database changed mysql> SELECT avg(s.salary) avg_salary_by_hire_year, YEAR(e.hire_date) FROM employees e, salaries s WHERE e.emp_no = s.emp_no GROUP BY YEAR(e.hire_date); +-------------------------+-------------------+ | avg_salary_by_hire_year | YEAR(e.hire_date)| +-------------------------+-------------------+ | 66966.7550 | 1985 | | 66187.3453 | 1986 | ... 16 rows in set (2.70 sec) mysql> SELECT de.dept_no, sum(s.salary) sum_salaries_per_department FROM employees e, salaries s, dept_emp de WHERE e.emp_no = de.emp_no AND e.emp_no = s.emp_no GROUP BY de.dept_no; +---------+-----------------------------+ | dept_no | sum_salaries_per_department| +---------+-----------------------------+ | d001 | 13725425266 | | d002 | 11650834677 | ... +---------+-----------------------------+ 9 rows in set (4.22 sec) mysql> exit;
查詢完範例員工資料集後,請使用「exit'」指令結束 mysql 提示。
您可以依需求選擇執行這個步驟。如要繼續使用 Cloud SQL 執行個體,您並不需要刪除執行個體。不過,您所在的專案會繼續向其收取相關費用。如果您不再需要這個執行個體,建議您立即刪除這個執行個體,以免產生這些費用。
請注意,刪除 Cloud SQL 執行個體後,您最多在一週之內無法重複使用該執行個體名稱。
刪除 Cloud SQL 執行個體的方法有兩種。
1) 在您的 Cloud Shell 環境中使用 gcloud
。再次提醒您,如果程式碼不同,請將 codelab-0 替換為您的執行個體名稱:
$ gcloud sql instances delete codelab-0 All of the instance data will be lost when the instance is deleted. Do you want to continue (Y/n)? Y Deleting Cloud SQL instance...done. Deleted $
或
2) 按一下左上角的 SQL,返回 Cloud SQL 執行個體頁面:
開啟您要刪除的執行個體旁邊的下拉式選單,然後選擇 [Delete] (刪除)。
執行個體一經刪除即無法復原!執行個體的資料無法復原。為避免意外刪除錯誤的執行個體,您必須在確認對話方塊中輸入執行個體名稱,確認刪除執行個體:
輸入執行個體名稱,然後按下 Delete 鍵。
您已建立新的 Cloud SQL 執行個體、設定根密碼、建立空白資料庫,並視需要刪除 Cloud SQL 執行個體。
適用範圍
- 透過 Google Cloud Console 建立 Cloud SQL 執行個體。
- 透過 Google Cloud Console 設定 SQL 根密碼。
- 使用 mysql 用戶端連線至資料庫。
- 透過 mysql 提示建立新的 MySQL 資料庫。
- 正在刪除 Cloud SQL 執行個體。
瞭解詳情
- 查看 Google Cloud SQL 說明文件