如何在 Google Compute Engine 上设置 MySQL

您可以采用多种方式将 MySQL 部署为 Google Cloud Platform 项目的一部分。您可以使用 Google Cloud SQL 或 Google Cloud Platform Marketplace,也可在 Google Compute Engine 上手动安装 MySQL。

Google Cloud SQL 以网络服务的形式提供 MySQL。您可以使用 Google Cloud SQL 在 Google 的云中托管 MySQL 数据库,让 Google Cloud Platform 来处理复制、补丁程序管理和数据库管理等管理任务。

GCP Marketplace 提供了简单的一键部署界面,可让您将 MySQL 轻松安装到 Compute Engine 实例上。GCP Marketplace 不仅包含独立的 MySQL 安装,还包含许多使用 MySQL 的网络开发堆栈,例如 LAMP 堆栈、LEMP 堆栈和 Percona MySQL 集群等等。

如果希望手动安装和自定义 MySQL,您可以使用 Compute Engine 来创建 MySQL 数据库,只需几分钟即可完成。本文档将在方法选择上提供指导,同时介绍如何在 Compute Engine 上手动安装 MySQL 数据库。

如何选择合适的 MySQL 部署选项

如果您希望让 Google Cloud Platform 处理后端数据库和服务器管理工作,那么 Google Cloud SQL 是实现这一便利的绝佳选择。例如,Cloud SQL 提供了自动备份和时间点恢复。此外,您的数据将跨多个地区进行复制,从而增加了可用性和恢复能力。

如果您需要使用 Cloud SQL 不支持的某项 MySQL 功能,则可能要在 Compute Engine 上安装 MySQL。例如,Cloud SQL 不支持用户定义的函数或 SUPER 权限。如需了解详情,请参阅 Cloud SQL 常见问题解答

如果您决定在 Compute Engine 上安装 MySQL,则可以使用 Google GCP Marketplace 来部署 MySQL 安装项,也可在 Compute Engine 实例上手动安装 MySQL。GCP Marketplace 提供了一种将 MySQL 部署到大型开发堆栈中的便捷方式。GCP Marketplace 提供了多种 MySQL 安装选项,例如独立的 MySQL 安装、LAMP 堆栈、LEMP 堆栈、Nginx 堆栈和 Percona MySQL Cluster 安装等等。

如果 GCP Marketplace 服务无法满足您的需求,那么您可以在 Compute Engine 实例上手动安装 MySQL。例如,您可能需要在已创建的自定义映像上部署 MySQL,或者可能需要完全控制安装过程。

要在 Compute Engine 实例上手动安装 MySQL,您只需创建一个 Compute Engine 实例并将 MySQL 直接安装到该实例上即可。本文档的其余部分介绍了如何在 Compute Engine 实例上手动安装 MySQL。

目标

  • 创建 Compute Engine 实例
  • 安装 MySQL
  • 连接到 MySQL

前提条件

  1. Google Cloud Platform Console 中新建一个项目。您可以使用现有项目,但创建新项目便于清理。

您可以使用 Google Cloud Platform Console 完成本文档中的所有步骤,但如果您希望使用 gcloud 命令行工具,则请按照以下步骤来启用 Compute Engine API 并安装 Google Cloud SDK。

  1. 使用 Google Cloud Platform Console 启用 Compute Engine API

  2. 安装 Google Cloud SDK

  3. 配置工作区,使命令更简洁。将以下命令中的 [PROJECT_ID][ZONE] 替换为项目的值。如需地区的完整列表,请参阅可用区域和地区

    gcloud config set project [PROJECT_ID]
    gcloud config set compute/zone [ZONE]
    

创建 Compute Engine 实例

为 MySQL 创建 Compute Engine 实例并建立与新建实例的 SSH 连接。默认操作系统是 Debian 9 版本。如果您希望在本教程中使用其他操作系统,则可以从 Compute Engine 文档的映像页面上所述的选项中进行选择。

Console


要在 Google Cloud Platform Console 中创建 Compute Engine 实例,请执行以下操作:

  1. 打开 Google Cloud Platform Console

  2. 选择新建的项目,然后点击继续

  3. 点击创建实例(如果您具有现有实例,则点击新建实例)。将实例命名为 mysql-test

  4. 要指定默认值以外的操作系统,请在启动磁盘部分中点击更改,选择操作系统,然后点击选择

  5. 点击创建

要建立 SSH 连接,请执行以下操作:

  1. 虚拟机实例页面上的列表中查找新虚拟机实例。

  2. 连接列中,点击 SSH。SSH 终端随即在浏览器窗口中打开。

gcloud


  1. 要创建 Compute Engine 实例,请使用 gcloud compute instances create 命令。要使用其他操作系统,请添加 --image 参数,后接映像名称。例如,要使用 Debian 9,请添加 --image debian-9

    gcloud compute instances create mysql-test
    
  2. 使用 ssh 连接到实例。

    gcloud compute ssh mysql-test
    

安装 MySQL

以下步骤介绍了如何在 Compute Engine 实例上安装 MySQL。

Debian 和 Ubuntu


  1. 更新 apt-get 软件包管理器。

    sudo apt-get update
    
  2. 安装 MySQL。安装进程将为您启动 MySQL 服务。

    sudo apt-get -y install mysql-server
    

CentOS 6 和 RHEL 6


  1. 安装 MySQL。

    sudo yum -y install mysql-server
    
  2. 启动 MySQL 服务器。

    sudo service mysqld start
    

CentOS 7 和 RHEL 7


第 7 版 CentOS 和 RHEL 现已在软件包管理系统包含了 MariaDB,但并未包含 MySQL。要在 CentOS 7 上安装 MySQL,必须先更新软件包管理器。

  1. 更新软件包管理器,使其包含 MySQL。

    sudo rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
    
  2. 安装 MySQL。

    sudo yum -y install mysql-community-server
    
  3. 启动 MySQL 服务器。

    sudo /usr/bin/systemctl start mysqld
    

增强 MySQL 安装的安全性

要提高 MySQL 安装的安全性,请运行 mysql_secure_installation 命令。如果在安装过程中未设置密码,请在此步骤中创建密码。要详细了解此命令,请参阅有关 mysql_secure_installation 的 MySQL 文档。

sudo mysql_secure_installation

连接到 MySQL

以下步骤介绍了如何从 mysql-test 实例连接到 MySQL。

  1. 使用 MySQL 客户端连接到 MySQL。

    sudo mysql -u root -p
    

    连接到 MySQL 时,提示符会更改为:

    mysql>

    然后,您可以运行 MySQL 命令。例如,以下命令显示了正在运行的线程(包括当前连接)。

    mysql> SHOW processlist;
    +----+------+-----------+------+---------+------+-------+------------------+
    | Id | User | Host      | db   | Command | Time | State | Info             |
    +----+------+-----------+------+---------+------+-------+------------------+
    | 51 | root | localhost | NULL | Query   |    0 | NULL  | show processlist |
    +----+------+-----------+------+---------+------+-------+------------------+
    1 row in set (0.00 sec)

    您可以使用以下命令生成用户列表。

    mysql> SELECT User, Host, Password FROM mysql.user;
    +------------------+------------+-------------------------------------------+
    | User             | Host       | Password                                  |
    +------------------+------------+-------------------------------------------+
    | root             | localhost  | *992C4DB09F487A275976576CCFA554F7D20A4207 |
    | root             | mysql-test | *992C4DB09F487A275976576CCFA554F7D20A4207 |
    | root             | 127.0.0.1  | *992C4DB09F487A275976576CCFA554F7D20A4207 |
    | root             | ::1        | *992C4DB09F487A275976576CCFA554F7D20A4207 |
    | debian-sys-maint | localhost  | *AD7B08AF7691A552A57900F1A9D8AE26ED499117 |
    +------------------+------------+-------------------------------------------+
    5 rows in set (0.00 sec)
  2. 命令运行完成后,请使用 exit 命令退出 MySQL 客户端,然后再次使用 exit 退出 Compute Engine 实例。

    mysql> exit
    exit

清理

完成 MySQL 教程后,您可以清理在 GCP 上创建的资源,以避免这些资源占用配额,日后产生费用。以下部分介绍了如何删除或关闭这些资源。

删除项目

要避免产生费用,最简单的方法是删除您为本教程创建的项目。

要删除项目,请执行以下操作:

  1. 在 GCP Console 中,转到“项目”页面。

    转到“项目”页面

  2. 在项目列表中,选择要删除的项目,然后点击删除
  3. 在对话框中输入项目 ID,然后点击关闭以删除项目。

删除实例

要删除 Compute Engine 实例,请运行以下命令:

  1. 在 GCP Console 中,转到“虚拟机实例”页面。

    转到“虚拟机实例”页面

  2. 点击 要删除的实例旁边的复选框。
  3. 点击页面顶部的删除按钮以删除实例。

后续步骤

您现已了解如何在 Compute Engine 上安装 MySQL 服务器。要查看使用 MySQL 的更复杂的应用,请参阅 GCP Marketplace 上使用 MySQL 的多种开发堆栈

如果您还要求具备高可用性和可伸缩性,请考虑在 Compute Engine 上安装 MySQL Cluster。此类集群可通过无共享集群和自动分片提供高可用性和可伸缩性。另外,GCP Marketplace 还为用于 MySQL 集群的开源解决方案 Percona 提供一键部署选项,从而简化操作。

另一个具备 MySQL 可伸缩性的开源解决方案是 Vitess,它自 2011 年起为所有 YouTube 数据库流量提供服务。Vitess 非常适合在容器中运行的应用。如需详细了解如何在容器化环境中使用 Vitess,请参阅在 Kubernetes 上运行 Vitess

如需详细了解 MySQL,请参阅 MySQL 官方文档

亲自试用其他 Google Cloud Platform 功能。查阅我们的教程

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Solutions