Google Cloud SQL 是全代管資料庫服務,可協助您輕鬆設定、維護、管理及操作雲端中的關聯式 MySQL 資料庫。
在本實驗室中,我們將建立新的空白 Cloud SQL 執行個體,使用 MySQL 指令列介面連線至該執行個體,並建立新的空白資料庫。
課程內容
- 如何在 Google Cloud 控制台中存取 Cloud SQL 網頁版 UI。
- 如何使用 Google Cloud 控制台建立 Cloud SQL 執行個體。
- 如何使用 Google Cloud 控制台設定根密碼。
- 如何透過 Cloud Shell 連線至 Cloud SQL 執行個體。
- 如何使用 Google Cloud 控制台刪除 Cloud SQL 執行個體。
軟硬體需求
您會如何使用這個教學課程?
根據您使用 Google Cloud Platform 服務和 Firebase 的體驗,你會給予什麼評價?
自行設定環境
如果您還沒有 Google 帳戶 (Gmail 或 Google 應用程式),請先建立帳戶。登入 Google Cloud Platform 主控台 (console.cloud.google.com),然後建立新專案:
請記住專案 ID,這是所有 Google Cloud 專案中不重複的名稱 (上述名稱已遭占用,因此不適用於您,抱歉!)。本程式碼研究室稍後會將其稱為 PROJECT_ID
。
接著,您必須在 Cloud 控制台中啟用帳單,才能使用 Google Cloud 資源。
完成本程式碼研究室的費用不應超過數美元,但如果您決定使用更多資源,或是將資源繼續執行 (請參閱本文件結尾的「清除」一節),則可能會增加費用。
Google Cloud Platform 新使用者享有價值 $300 美元的免費試用期。
在 Google Cloud 控制台中,按一下畫面左上方的「選單」圖示:
向下捲動,然後在「儲存空間」子區段中選取「SQL」:
您現在應該會看到 Cloud SQL 網頁介面,如果您使用的專案目前沒有任何 Cloud SQL 執行個體,系統會顯示對話方塊,邀請您建立新的 Cloud SQL 執行個體。
如果您使用的專案已有一或多個 Cloud SQL 執行個體,系統會改為顯示這些執行個體的清單:
假設專案沒有 Cloud SQL 執行個體,請按下「建立執行個體」按鈕來建立執行個體:
如果您使用的專案已有一或多個 Cloud SQL 執行個體,請按下「執行個體」畫面上的「建立執行個體」按鈕,如下所示:
無論是哪一種情況,您現在都應該會看到「Choose an instance type」頁面。在本程式碼研究室中,我們將建立 Cloud SQL 第二代執行個體。按一下「選擇第二代」。
系統會將您導向至「Create an instance」(建立執行個體) 頁面。您必須在此指定執行個體的名稱。這個名稱在專案中不得重複,但專案之間可以重複,因此假設專案中沒有其他 Cloud SQL 執行個體,您可以使用本範例中顯示的相同執行個體名稱 codelab-0。在「Instance ID」(執行個體 ID) 方塊中輸入「codelab-0」。在本程式碼研究室中,其餘設定可以保留預設值。
請注意,刪除 Cloud SQL 執行個體後,最多有一週的時間無法重複使用該執行個體名稱。如果您打算將這個專案用於實驗以外的用途,請務必選擇與您可能用於實際工作的執行個體名稱不同的名稱,否則您可能會在一段時間內無法重複使用該執行個體名稱。
捲動至頁面底部,然後按一下「建立」。
系統會將您帶往「Instances」頁面,您會在左側看到新的執行個體和微調器,表示系統仍在建立執行個體:
執行個體會在兩到三分鐘內就緒,藍色旋轉圖示會變成綠色勾號。請務必不時重新整理頁面:
Cloud SQL 執行個體現在已準備就緒。
按一下執行個體名稱,開啟執行個體詳細資料頁面,然後按一下「存取控制」:
在「存取控制」分頁中,按下「使用者」:
在「使用者」分頁中,按一下「變更 root 密碼」:
在「變更密碼」頁面輸入新密碼,然後按下「確定」:
在 Google Cloud 控制台中按下提示按鈕,啟用 Google Cloud Shell:
如果您是第一次使用這個專案的 Google Cloud Shell,系統會顯示 Google Cloud Shell 畫面。按下「啟動 Cloud Shell」
新的 Cloud Shell 會顯示在 Google Cloud 控制台底部。如果這是您第一次使用這個專案,請先按下 Google Cloud Shell 畫面上的「啟動 Cloud Shell」;如果先前已使用過,則按下「啟動 Google Cloud Shell」按鈕後,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>
如圖所示,系統會提示您輸入在上一個步驟中設定的密碼。現在您已登入「root」,可以使用完整的 MySQL 提示。您可以使用這個工具輸入 SQL 陳述式,例如以下陳述式可建立名為「codelab」的新資料庫:
mysql> CREATE DATABASE codelab; Query OK, 1 row affected (0.00 sec)
如果查詢傳回 OK,表示執行個體運作正常。現在請結束並載入一些範例資料,執行幾項實際查詢。
輸入「exit;」,然後按下 Enter 鍵,即可退出 mysql 提示。
我們會載入 employee 範例資料集,您可以在 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
現在可以查詢資料了,以下提供一些查詢範例。您也可以自行建立部分查詢。如要熟悉資料庫結構定義,請查看 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」(刪除)。
您已建立新的 Cloud SQL 執行個體、設定根密碼、建立空白資料庫,並 (選擇性) 刪除 Cloud SQL 執行個體。
涵蓋內容
- 透過 Google Cloud 控制台建立 Cloud SQL 執行個體。
- 透過 Google Cloud 控制台設定 SQL 根密碼。
- 使用 mysql 用戶端連線至資料庫。
- 透過 mysql 提示建立新的 MySQL 資料庫。
- 正在刪除 Cloud SQL 執行個體。
瞭解詳情
- 查看 Google Cloud SQL 說明文件