Configurar MySQL en Google Compute Engine

Tienes varias opciones para implementar MySQL como parte de tu proyecto de Google Cloud Platform. Puedes usar Google Cloud SQL, Google Cloud Platform Marketplace, o instalar MySQL manualmente en Google Compute Engine.

Google Cloud SQL ofrece MySQL como un servicio web. Puedes usar Google Cloud SQL para alojar tu base de datos de MySQL en la nube de Google, y dejar que Google Cloud Platform maneje las tareas administrativas como la replicación y la administración de parches y de bases de datos.

GCP Marketplace proporciona una interfaz sencilla con implementación en un clic que facilita la instalación de MySQL en una instancia de Compute Engine. GCP Marketplace incluye no solo una instalación de MySQL independiente, sino también varias pilas de desarrollo web que usan MySQL, incluso pilas LAMP y LEMP y clústeres de Percona para MySQL.

Si prefieres instalar y personalizar My SQL de forma manual, puedes usar Compute Engine para crear una base de datos de MySQL en cuestión de minutos. En este documento se ofrece orientación sobre qué opción elegir y se te acompaña en la instalación manual de una base de datos de MySQL en Compute Engine.

Elegir la opción de implementación de MySQL adecuada

Google Cloud SQL es una gran opción si quieres aprovechar la comodidad de que Google Cloud Platform se encargue de la base de datos del backend y las tareas de administración del servicio. Por ejemplo, Cloud SQL proporciona copias de seguridad automatizadas y recuperación de un momento determinado. Además, tus datos se repiten en varias zonas para mayor disponibilidad y resiliencia.

Tal vez prefieras instalar MySQL en Compute Engine si requieres una característica de MySQL que no es compatible con Cloud SQL. Por ejemplo, Cloud SQL no es compatible con funciones definidas por el usuario o el privilegio SUPER. Para obtener más información, consulta Preguntas frecuentes de SQL.

Si decides instalar MySQL en Compute Engine, puedes usar Google GCP Marketplace para implementar una instalación de MySQL, o bien instalar MySQL en una instancia de Compute Engine. GCP Marketplace proporciona una forma cómoda de implementar MySQL como parte de una pila de desarrollo más grande. GCP Marketplace ofrece varias opciones de instalación de MySQL, incluida una instalación independiente, pilas de LAMP, LEMP y Nginx, una instalación de Percona para MySQL Cluster y muchas otras opciones.

Si la oferta de GCP Marketplace no satisface tus necesidades, puedes instalar MySQL manualmente en una instancia de Compute Engine. Quizás quieras, por ejemplo, implementar MySQL en una imagen personalizada que hayas creado, o puede que quieras tener control total sobre el proceso de instalación.

Para instalar MySQL en una instancia de Compute Engine de forma manual, solo necesitas crear una instancia de Compute Engine y luego instalar MySQL directamente en la instancia. En el resto de este documento, se describe la instalación manual de MySQL en una instancia de Compute Engine.

Objetivos

  • Crear una instancia de Compute Engine
  • Instalar MySQL
  • Conectarse a MySQL

Requisitos previos

  1. Crea un nuevo proyecto en Google Cloud Platform Console. Puedes usar un proyecto existente, pero crear un nuevo proyecto simplifica la limpieza.

Puedes completar todos los pasos de este documento en Google Cloud Platform Console, pero si prefieres usar la herramienta de línea de comandos de gcloud, sigue estos pasos para habilitar la API de Compute Engine y luego instalar el SDK de Google Cloud.

  1. Usa Google Cloud Platform Console para habilitar la API de Compute Engine.

  2. Instala el SDK de Google Cloud.

  3. Configura tu lugar de trabajo para que los comandos sean menos detallados. Sustituye los valores de [PROJECT_ID] y [ZONE] de tu proyecto en los siguientes comandos. Para ver la lista completa de las zonas, consulta Regiones y zonas disponibles.

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

Crear una instancia de Compute Engine

Crea una instancia de Compute Engine para MySQL y establece una conexión SSH a la instancia recién creada. El sistema operativo predeterminado es Debian versión 9. Si prefieres usar otro sistema operativo para este instructivo, puedes elegir de las opciones descritas en la página Imágenes de la documentación de Compute Engine.

Console


Para crear una instancia de Compute Engine en Google Cloud Platform Console:

  1. Abre Google Cloud Platform Console.

  2. Selecciona el proyecto que acabas de crear y haz clic en Continuar.

  3. Haz clic en Crear instancia (o Nueva instancia si ya tienes instancias). Ponle este nombre a la instancia: mysql-test.

  4. Si quieres especificar un sistema operativo distinto del valor predeterminado, en la sección Disco de arranque, haz clic en Cambiar, selecciona el sistema operativo, y luego haz clic en Seleccionar.

  5. Haz clic en Crear.

Para establecer una conexión SSH:

  1. En la página de VM instances, encuentra tu nueva instancia de VM en la lista.

  2. En la columna Conectar, haz clic en SSH. La terminal SSH se abre en una ventana del navegador.

gcloud


  1. Para crear una instancia de Compute Engine, usa el comando gcloud compute instances create. Si quieres usar un sistema operativo distinto, agrega el parámetro --image seguido del nombre de la imagen. Por ejemplo, para usar Debian 9, agrega --image debian-9.

    gcloud compute instances create mysql-test
    
  2. Conéctate a la instancia con ssh.

    gcloud compute ssh mysql-test
    

Instalar MySQL

Los pasos siguientes describen cómo instalar MySQL en una instancia de Compute Engine.

Debian y Ubuntu


  1. Actualiza el administrador de paquetes apt-get.

    sudo apt-get update
    
  2. Instala MySQL. El proceso de instalación inicia el servicio de MySQL por ti.

    sudo apt-get -y install mysql-server
    

CentOS 6 y RHEL 6


  1. Instala MySQL.

    sudo yum -y install mysql-server
    
  2. Inicia el servidor de MySQL.

    sudo service mysqld start
    

CentOS 7 y RHEL 7


Las versiones 7 de CentOS y RHEL ahora contienen MariaDB en lugar de MySQL como parte de su sistema de administración de paquetes. Si quieres instalar MySQL en CentOS 7, primero debes actualizar el administrador de paquetes.

  1. Actualiza en administrador de paquetes para que incluya MySQL.

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

    sudo yum -y install mysql-community-server
    
  3. Inicia el servidor de MySQL.

    sudo /usr/bin/systemctl start mysqld
    

Mejorar la seguridad en la instalación de MySQL

Para mejorar la seguridad en la instalación de MySQL, ejecuta el comando mysql_secure_installation. Si no configuraste una contraseña durante el proceso de instalación, créala en este paso. Para obtener más información sobre este comando, consulta mysql_secure_installation en la documentación de MySQL.

sudo mysql_secure_installation

Conectarse a MySQL

Los pasos siguientes describen cómo conectarse a MySQL desde tu instancia mysql-test.

  1. Conéctate a MySQL mediante el cliente MySQL.

    sudo mysql -u root -p
    

    Cuando te conectas a MySQL, el mensaje cambia a:

    mysql>

    Entonces puedes ejecutar comandos de MySQL. Por ejemplo, el comando siguiente muestra los subprocesos en ejecución, incluso la conexión actual.

    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)

    Puedes usar el comando siguiente para generar una lista de usuarios.

    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. Cuando hayas terminado de ejecutar comandos, usa el comando exit para cerrar el cliente MySQL, y luego usa exit nuevamente para salir de la instancia de Compute Engine.

    mysql> exit
    exit

Limpieza

Una vez que hayas terminado el instructivo de MySQL, limpia los recursos creados en Google Cloud Platform para que no se te realicen cargos por ellos en el futuro. La siguiente sección describe cómo borrar o desactivar estos recursos.

Cómo borrar el proyecto

La manera más fácil de eliminar la facturación es borrar el proyecto que creaste para el instructivo.

Para borrar el proyecto, haz lo siguiente:

  1. En la GCP Console, dirígete a la página Proyectos.

    Ir a la página Proyectos

  2. En la lista de proyectos, selecciona el proyecto que deseas borrar y haz clic en Borrar.
  3. En el cuadro de diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.

Borrar instancias

Para borrar una instancia de Compute Engine:

  1. En GCP Console, dirígete a la página Instancias de VM.

    Ir a la página Instancias de VM

  2. Haz clic en la casilla de verificación junto ala instancia que deseas borrar.
  3. Haz clic en el botón Borrar en la parte superior de la página para borrar la instancia.

Pasos siguientes

Ya has visto cómo instalar un servidor de MySQL en Compute Engine. Para consultar aplicaciones más complejas que usan MySQL, consulta la amplia variedad de pilas de desarrollo disponibles en GCP Marketplace que usan MySQL.

Si tus requisitos incluyen disponibilidad y escalabilidad altas, considera instalar MySQL Cluster en Compute Engine. MySQL Cluster proporciona disponibilidad y escalabilidad altas, a través agrupamiento en clústeres que no comparten nada y fragmentación automáticas. GCP Marketplace proporciona una opción con implementación en un clic para Percona, una solución de código abierto que se puede aplicar al agrupamiento en clústeres de MySQL.

Otra solución de código abierto para la escalabilidad en MySQL es Vitess, que entrega todo el tráfico de base de datos de YouTube desde 2011. Vitess es ideal para aplicaciones que se ejecutan en contenedores. Para obtener más información acerca de cómo usar Vitess en un entorno en contenedores, consulta Ejecutar Vitess en Kubernetes.

Para obtener más información acerca de MySQL, consulta la documentación oficial de MySQL.

Prueba otras características de Google Cloud Platform por ti mismo. Revisa nuestros instructivos.

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...