赞
踩
欢迎来到小李哥全新谷歌云GCP云计算知识学习系列,适用于任何无云计算或者谷歌云技术背景的开发者,让大家零基础5分钟通过这篇文章就能完全学会谷歌云一个经典的服务开发架构方案。
我将每天介绍一个基于全球三大云计算平台(AWS, Azure, GCP)的全球前沿云开发/架构技术基础解决方案,帮助大家快速了解国际上最热门的云计算平台上的最佳实践和前沿技术,并应用到自己的日常工作里。本次我将介绍如何在谷歌云上利用Cloud SQL服务搭建高可用数据库集群。示范架构图如下:
谷歌云 GCP Cloud SQL 是一项完全托管的关系型数据库服务。它支持多种数据库引擎,支持包括 MySQL、PostgreSQL 和 SQL Server多种数据引擎。Cloud SQL 旨在简化数据库的部署、管理和维护,使开发者能够专注于应用程序开发,而无需担心底层数据库的基础设施管理。
无需处理数据库的安装、配置、补丁和备份,谷歌云会自动管理这些任务,节省运维时间和成本。
通过自动故障转移和跨区域复制,确保数据库的高可用性和数据持久性,提升业务连续性。
提供内置的加密功能、自动更新和合规性认证,确保数据安全和隐私保护。
支持按需扩展数据库的计算和存储资源,灵活应对业务需求变化,避免资源浪费。
提供自动调优和性能监控工具,帮助优化查询性能,确保应用始终运行在最佳状态。
与 GCP 的其他服务(如 Compute Engine、App Engine 和 BigQuery)无缝集成,简化开发流程,增强应用的功能和性能。
1. 我们在搜索栏搜索Cloud SQL, 进入Cloud SQL服务主页。点击“Create Instance”创建数据库实例。
2. 选择MySQL数据库引擎
3. 选择MySQL企业级数据库版本,并且为数据库实例设置环境为开发环境,数据库版本为MySQL 8,为数据库起名为myinstance,并且点击"Generate"自动创建密码。
4. 接下来我们为数据库集群配置高可用,选择地理区域“europe-west4”,选择多可用区部署的模式,主可用区为“europe-west4-c”,最后点击创建数据库集群。
5. 接下来我们打开Cloud Shell命令行,与数据库实例交互进行维护操作。
6. 在Cloud Shell控制台命令行如下命令连接到数据库集群
gcloud sql connect myinstance --user=root
7. 在弹出密码输入框后,复制创建数据库集群时设置的密码
8. 接下来我们通过SQL语句,在MySQL里创建一个数据库“guestbook”。
CREATE DATABASE guestbook;
9. 接下来我们为数据库导入测试数据
- USE guestbook;
- CREATE TABLE entries (guestName VARCHAR(255), content VARCHAR(255),
- entryID INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(entryID));
- INSERT INTO entries (guestName, content) values ("first guest", "I got here!");
- INSERT INTO entries (guestName, content) values ("second guest", "Me too!");
10. 接下来我们对导入数据进行查询,得到查询结果。
SELECT * FROM entries;
- from google.cloud import sql_v1
- from google.cloud.sql_v1.types import CloudSqlInstance, SqlInstanceSettings, SqlDatabaseVersion, SqlSettings, SqlAvailabilityType
- from google.protobuf.field_mask_pb2 import FieldMask
-
- def create_mysql_instance():
- # 创建 SQL Admin 客户端
- client = sql_v1.SqlInstancesServiceClient()
-
- # 定义实例的 ID 和项目 ID
- instance_id = "myinstance"
- project_id = "your-project-id" # 替换为您的项目 ID
-
- # 配置实例的设置
- instance_settings = SqlInstanceSettings(
- tier="db-n1-standard-2", # 对应 4 vCPU, 16 GB RAM
- availability_type=SqlAvailabilityType.REGIONAL, # 设置多区域支持 (Highly available)
- data_disk_size_gb=100, # 数据盘大小 100 GB
- activation_policy=SqlInstanceSettings.ActivationPolicy.ALWAYS,
- database_version=SqlDatabaseVersion.MYSQL_8_0,
- ip_configuration=SqlSettings.IpConfiguration(
- ipv4_enabled=True
- ),
- location_preference=SqlSettings.LocationPreference(
- zone="europe-west4-c" # 设置主区域
- )
- )
-
- # 创建 Cloud SQL 实例
- instance = CloudSqlInstance(
- name=instance_id,
- project=project_id,
- settings=instance_settings,
- database_version=SqlDatabaseVersion.MYSQL_8_0
- )
-
- # 发送请求以创建实例
- operation = client.insert(
- project=project_id,
- instance_id=instance_id,
- body=instance
- )
-
- print(f"Creating instance {instance_id} in project {project_id}...")
-
- # 等待操作完成
- response = operation.result()
-
- print("Instance created successfully.")
- return response
-
- if __name__ == "__main__":
- create_mysql_instance()
google.cloud.sql_v1
: 使用 Google Cloud SQL Admin SDK 的 Python 客户端库。
instance_settings
: 配置实例的设置,包括计算资源、磁盘大小、可用性类型等。
create_mysql_instance
: 函数用于创建 MySQL 实例。
SqlAvailabilityType.REGIONAL
: 表示多区域设置,提供更高的可用性。
SqlInstanceSettings
: 包含实例的配置详细信息,例如计算资源、磁盘大小、数据库版本和可用性设置。
以上就是在谷歌云GCP上搭建MySQL高可用数据库集群的全部步骤。欢迎大家关注零基础5分钟上手谷歌云系列,未来获取更多国际前沿的谷歌云GCP云开发/云架构方案!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。