使用 Cloud SQL 建立代管的 MySQL 資料庫

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),然後建立新專案:

2016-02-10 12:45:26.png 的螢幕擷取畫面

提醒您,專案編號是所有 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 第二代執行個體。按一下 [選擇第二代]

2ndGenCloudSQLCreate.png

系統隨即會將您導向「建立執行個體」頁面。您必須為執行個體指定名稱。這個名稱在專案內不能重複,不能在所有專案中使用。因此,假設您在專案中沒有其他 Cloud SQL 執行個體,可以使用本範例中顯示的執行個體代碼 codelab-0。在 [執行個體 ID] 方塊中輸入「codelab-0」。為這個程式碼研究室的用途,其他設定可保留預設值。

請注意,刪除 Cloud SQL 執行個體後,您最多在一週之內無法重複使用該執行個體名稱。如果您打算在實驗期間使用本專案,請務必選用與實際名稱不同的執行個體名稱,或是發現您無法將該執行個體名稱重複使用一段時間。

2ndGenCloudSQLCreate_2.png

捲動至頁面底部,然後按下 Create (建立)。

2ndGenCloudSQLCreate_3.png

系統會將您導向「Instances」(執行個體) 頁面,您會在其中看到新執行個體,旁邊有旋轉圖示,表示該執行個體仍在建立中:

2 或 3 分鐘後,即可啟動執行個體。綠色勾號則代表藍色旋轉圖示。請務必不時重新整理頁面:

您的 Cloud SQL 執行個體已準備就緒。

按一下執行個體名稱,開啟執行個體詳細資料頁面,然後按一下 [存取權控管]

在「存取權控管」分頁中,按下 [使用者]

在「使用者」分頁中,按一下 [變更根密碼]

在「變更密碼」網頁上輸入新密碼,然後按下 [確定]

按下 Google Cloud Console 中的提示按鈕以啟用 Google Cloud Shell:

如果這是您第一次針對這項專案使用 Google Cloud Shell,系統會顯示 Google Cloud Shell 畫面。按一下 [Start Cloud Shell]

Cloud Shell 歡迎使用.png

新版 Cloud Shell 會顯示在 Google Cloud Console 底部;如果您在首次使用 Google Cloud Shell 時,按下 [開始 Cloud Shell] 即可;如果該專案是本專案第一次使用,請點選 [啟用 Google Cloud Shell] 按鈕。

Screen Shot 2016-03-07 在 12.18.01.png

使用下方顯示的 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;&#39」並按下 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 執行個體。

瞭解詳情