New*_*hua 2 google-app-engine mysql-workbench google-cloud-sql google-cloud-platform
如何以安全的方式将 Google Cloud SQL 与应用程序(如 Google App Engine)和工具(如 (mySQL workbench))连接起来?
在本文档中,我们将了解如何创建 Google Cloud SQL 实例并将它们连接到您的 Google App Engine 应用程序和 MySQL Workbench 管理工具中。
谷歌云 SQL:
Google Cloud SQL 是一项完全托管的数据库服务,可让您在云端轻松设置、维护、管理和管理关系 MySQL 数据库。
Google Cloud SQL 提供了一个可以与 App Engine 应用程序一起使用的关系数据库。Cloud SQL 是一个位于 Google 云中的 MySQL 数据库。
参考:
创建 SQL 实例:
Google Cloud SQL 实例是托管在 Google 云中的 MySQL 数据库。
单击选择第一代,输入名称并为实例选择层,然后单击创建。
实例初始化完成后,选择实例打开。
在访问控制 > 用户中,单击创建用户帐户并创建名为 root 的用户并指定密码 (root_password)。这将创建 MySQL 用户 'root'@'%'。
在数据库中,单击新建数据库并使用数据库名称 (DataBase_Name) 创建一个数据库
MySQL 工作台:
MySQL Workbench 是面向数据库架构师、开发人员和 DBA 的统一可视化工具。MySQL Workbench 为服务器配置、用户管理、备份等提供数据建模、SQL 开发和综合管理工具。
参考http://www.mysql.com/products/workbench/
现在我们将看到如何使用 MySQL Workbench 连接到您的 Google Cloud SQL 实例数据库。
配置访问
转到 Google Cloud Platform Console 中的 Cloud SQL Instances 页面并选择实例。
在访问控制 > IP 地址中,单击请求 IPv4 地址并复制它(Instance_IPv4_address)。需要将您的 Google Cloud SQL 实例数据库与 MySQL Workbench 等管理工具连接起来。
注意:您需要为 IPv4 地址支付费用 @ 实例处于非活动状态时每小时 0.01 美元,实例处于活动状态时每小时 0.1 美元
谷歌“IP地址”以查找您的公共IP地址
在访问控制 > 授权 > 授权网络中,单击添加网络并输入您的 IP 地址。
连接
在 MySQL Workbench 主视图中,单击新建连接。
在设置新连接窗口中,提供连接名称、主机名和用户名
单击测试连接。系统将提示您输入密码。
MySQL 连接成功后,单击“确定”并单击“保存的连接”以打开 SQL 编辑器
谷歌应用引擎:
Google App Engine 是一个用于构建可扩展的网络应用程序和移动后端的平台。App Engine 将自动扩展您的应用程序。
参考https://cloud.google.com/appengine
现在我们将了解如何在 App Engine 应用程序和 Cloud SQL 实例之间建立连接。
配置访问
转到 Google Cloud Platform Console 中的 Cloud SQL Instances 页面并选择实例。
在访问控制 > 授权 > 授权的 App Engine 应用程序中,单击添加应用程序 ID 并输入应用程序 ID。单击完成并保存。
在概览> 属性中复制“实例连接名称”(Instance_Connection_Name)
在您的 Google Web 应用程序项目中,war/WEB-INF/appengine-web.xml 添加,true
代码示例:
Google App Engine 的示例 - 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;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5393 次 |
| 最近记录: |