如何將 Google Cloud SQL 與應用程式(如 Google App Engine)和工具(如 mySQL workbench)相連線

在本文件中,我們將瞭解如何建立 Google Cloud SQL 例項並將其連線到你的 Google App Engine 應用程式和 MySQL Workbench 管理工具中。

Google Cloud SQL:

Google Cloud SQL 是一種完全託管的資料庫服務,可以輕鬆地在雲中設定,維護,管理和管理關係型 MySQL 資料庫。

Google Cloud SQL 提供了一個可與 App Engine 應用程式一起使用的關聯式資料庫。Cloud SQL 是一個存在於 Google 雲中的 MySQL 資料庫。

參考:

https://cloud.google.com/sql/

https://cloud.google.com/sql/docs/

建立 SQL 例項:

Google Cloud SQL 例項是託管在 Google 雲中的 MySQL 資料庫。

  1. 轉到 Google Cloud Platform Console 中的 Cloud SQL Instances 頁面( https://console.cloud.google.com/sql/instances), 然後單擊 Create instance。

  2. 單擊選擇第一代,輸入名稱並選擇例項的層,然後單擊建立

  3. 例項完成初始化後,選擇要開啟它的例項。

  4. 訪問控制>使用者中,單擊建立使用者帳戶並建立名為 root 的使用者並指定密碼(root_password)。這會建立 MySQL 使用者’root’@’%’。

  5. 資料庫中,單擊新建資料庫並使用資料庫名稱(DataBase_Name)建立資料庫

MySQL Workbench:

MySQL Workbench 是資料庫架構師,開發人員和 DBA 的統一視覺化工具。MySQL Workbench 為伺服器配置,使用者管理,備份等提供資料建模,SQL 開發和綜合管理工具。

參考 http://www.mysql.com/products/workbench/

現在,我們將瞭解如何使用 MySQL Workbench 連線到你的 Google Cloud SQL 例項資料庫。

配置訪問許可權

  1. 轉到 Google Cloud Platform Console 中的 Cloud SQL Instances 頁面,然後選擇該例項。

  2. 訪問控制>“IP 地址”中,單擊“請求 IPv4 地址”並將其複製(Instance_IPv4_address)。需要將你的 Google Cloud SQL 例項資料庫與 MySQL Workbench 等管理工具相連線。

    注意: 例項處於非活動狀態時,你將需要支付 IPv4 地址 @ $ 0.01,例項處於活動狀態時每小時支付 0.1 美元

  3. Google 的“IP 地址”用於查詢你的公共 IP 地址

  4. 訪問控制>授權>授權網路中,單擊新增網路並輸入你的 IP 地址。

  5. 訪問控制>使用者中,使用使用者名稱(userName),密碼(密碼)和允許選擇任何主機選項建立使用者。建議使用單獨的使用者帳戶從 WorkBench 進行訪問

  1. 在 MySQL Workbench 主檢視中,單擊新建連線

  2. 設定新連線視窗中,提供連線名稱主機名使用者名稱

  3. 單擊測試連線。系統將提示你輸入密碼。

  4. MySQL 連線成功後,單擊確定並單擊已儲存的連線以開啟 SQL 編輯器

Google App Engine:

Google App Engine 是一個用於構建可擴充套件的 Web 應用程式和移動後端的平臺。App Engine 將自動擴充套件你的應用程式。

請參閱 https://cloud.google.com/appengine

現在我們將看到如何在 App Engine 應用程式和 Cloud SQL 例項之間建立連線。

配置訪問許可權

  1. 轉到 Google Cloud Platform Console 中的 Cloud SQL Instances 頁面,然後選擇該例項。

  2. 訪問控制>授權>“授權的 App Engine”應用程式中,單擊“新增應用程式 ID”並輸入應用程式 ID。單擊完成並儲存。

  3. 在概述>屬性中複製例項連線名稱(Instance_Connection_Name)

  4. 在你的 Google Web 應用專案中,war / WEB-INF / appengine-web.xml 新增,true </ use-google-connector-j>

程式碼示例:

谷歌應用引擎的一個 Exaple - Java 標準環境

public static Connection connect() throws ClassNotFoundException, SQLException {
    String url = null;

    {
        if (SystemProperty.environment.value() == SystemProperty.Environment.Value.Production) {

            // Connecting from App Engine.
            Class.forName(Messages.getString("com.mysql.jdbc.GoogleDriver")); 
            url = Messages.getString("jdbc:google:mysql://{{Instance_Connection_Name}}/{{DataBase_Name}}?user=root&password={{root_password}}");
        } else {
            // Connecting from an external network or localhost
            Class.forName(Messages.getString("com.mysql.jdbc.Driver"));
            url = Messages.getString("jdbc:mysql://{{Instance_IPv4_address}}:3306/{{DataBase_Name}}?user={{userName}}&password={{password}}");
        }

        Connection conn = DriverManager.getConnection(url);

        return conn;
    }
}