Google Cloud SQL es un servicio de base de datos completamente administrado que facilita la configuración, el mantenimiento y la administración de tus bases de datos relacionales de MySQL en la nube.
En este lab, crearemos una instancia de Cloud SQL nueva y vacía, nos conectaremos a ella con la interfaz de línea de comandos de MySQL y crearemos una base de datos nueva y vacía.
Qué aprenderás
- Cómo acceder a la IU web de Cloud SQL en la consola de Google Cloud
- Cómo crear una instancia de Cloud SQL con la consola de Google Cloud
- Cómo establecer una contraseña raíz con la consola de Google Cloud
- Cómo conectarte a tu instancia de Cloud SQL a través de Cloud Shell
- Cómo borrar tu instancia de Cloud SQL con la consola de Google Cloud
Requisitos
¿Cómo usarás este instructivo?
¿Cómo calificarías tu experiencia con el uso de los servicios de Google Cloud Platform y Firebase?
Configuración del entorno de autoaprendizaje
Si aún no tienes una Cuenta de Google (Gmail o Google Apps), debes crear una. Accede a Google Cloud Platform Console (console.cloud.google.com) y crea un proyecto nuevo:
Recuerde el ID de proyecto, un nombre único en todos los proyectos de Google Cloud (el nombre anterior ya se encuentra en uso y no lo podrá usar). Se mencionará más adelante en este codelab como PROJECT_ID
.
A continuación, deberás habilitar la facturación en la consola de Cloud para usar los recursos de Google Cloud.
Ejecutar este codelab debería costar solo unos pocos dólares, pero su costo podría aumentar si decides usar más recursos o si los dejas en ejecución (consulta la sección “Limpiar” al final de este documento).
Los usuarios nuevos de Google Cloud Platform son aptos para obtener una prueba gratuita de USD 300.
En Google Cloud Console, haz clic en el ícono de menú en la parte superior izquierda de la pantalla:
Desplázate hacia abajo y selecciona SQL en la subsección Almacenamiento:
Ahora deberías ver la IU web de Cloud SQL y, si usas un proyecto que actualmente no tiene ninguna instancia de Cloud SQL, verás un cuadro de diálogo que te invita a crear una instancia nueva de Cloud SQL.
Si usas un proyecto que ya tiene una o más instancias de Cloud SQL, verás una lista de esas instancias:
Si tu proyecto no tiene instancias de Cloud SQL, presiona el botón Crear instancia para crear una:
Si usas un proyecto que ya tiene una o más instancias de Cloud SQL, presiona el botón Crear instancia en la pantalla Instancias, como se muestra aquí:
En cualquier caso, ahora deberías ver la página Elige un tipo de instancia. En este codelab, crearemos una instancia de Cloud SQL de segunda generación. Haz clic en Elegir segunda generación.
Esta acción te llevará a la página Crear una instancia. Aquí debes especificar un nombre para tu instancia. Este nombre debe ser único dentro de tu proyecto, pero no entre proyectos, por lo que puedes usar el mismo nombre de instancia codelab-0 que se muestra en este ejemplo, siempre que no tengas otras instancias de Cloud SQL en tu proyecto. Ingresa "codelab-0" en el cuadro ID de instancia. Para los fines de este codelab, el resto de la configuración se puede dejar con sus valores predeterminados.
Ten en cuenta que, cuando borras una instancia de Cloud SQL, no puedes volver a usar su nombre hasta una semana después. Si planeas usar este proyecto para algo más que experimentar, asegúrate de elegir un nombre de instancia que sea diferente de cualquier nombre de instancia que quieras usar para el trabajo real. De lo contrario, es posible que no puedas volver a usar ese nombre de instancia durante un período.
Desplázate hasta el final de la página y presiona Crear.
Se te redireccionará a la página Instancias, donde verás tu instancia nueva con un spinner a la izquierda, lo que indica que aún se está creando:
En dos o tres minutos, la instancia estará disponible y una marca de verificación verde reemplazará el spinner azul. Asegúrate de actualizar la página periódicamente:
Tu instancia de Cloud SQL ya está lista para usarse.
Haz clic en el nombre de tu instancia para que aparezca la página de detalles de la instancia y, luego, haz clic en Control de acceso:
En la pestaña Control de acceso, presiona Usuarios:
En la pestaña Usuarios, haz clic en Cambiar la contraseña de raíz:
Ingresa una contraseña nueva en la página Cambiar contraseña y presiona Aceptar:
Presiona el botón de mensaje en la consola de Google Cloud para activar Google Cloud Shell:
Si es la primera vez que usas Google Cloud Shell para este proyecto, verás la pantalla de Google Cloud Shell. Presiona Iniciar Cloud Shell.
El nuevo Cloud Shell se mostrará en la parte inferior de la consola de Google Cloud, ya sea después de que presiones Iniciar Cloud Shell en la pantalla de Cloud Shell si es la primera vez que se usa con este proyecto, o bien inmediatamente después de presionar el botón Activar Google Cloud Shell si ya se usó antes.
Conéctate a tu instancia de Cloud SQL con el comando gcloud sql que se muestra a continuación, pero reemplaza "codelab-0" por el nombre de tu instancia, si es diferente:
gcloud sql connect codelab-0 --user=root
Deberías ver lo siguiente:
$ gcloud sql connect codelab-0 --user=root Whitelisting your IP for incoming connection for 1 minute...done. Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 11302 Server version: 5.6.29-google-log (Google) Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective Owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
Como se muestra aquí, se te pedirá que ingreses la contraseña que estableciste en el paso anterior. Ahora tienes un símbolo del sistema de MySQL completamente funcional, con acceso como "root". Puedes usarlo para ingresar sentencias de SQL, como esta para crear una nueva base de datos llamada "codelab":
mysql> CREATE DATABASE codelab; Query OK, 1 row affected (0.00 sec)
Si la consulta devuelve un OK, significa que tu instancia funciona. Sal y carga algunos datos de muestra para ejecutar algunas consultas reales.
Escribe “exit;” y presiona Intro para salir del cuadro de MySQL.
Cargaremos el conjunto de datos de muestra de empleados que se encuentra en la documentación oficial de MySQL.
Primero, debemos descargar las secuencias de comandos y los datos:
$ wget https://codeload.github.com/datacharmer/test_db/zip/master -O sampledb.zip $ unzip sampledb.zip && cd test_db-master
En segundo lugar, debemos crear la base de datos y las tablas, y cargar los datos. Nuevamente, reemplaza codelab-0 por el nombre de tu instancia, si es diferente:
$ gcloud sql connect codelab-0 --user=root < employees.sql
Ahora podemos consultar los datos. A continuación, encontrarás algunas consultas de ejemplo. También puedes crear algunas consultas por tu cuenta. Para familiarizarte con el esquema de la base de datos, consulta el archivo employees.sql
. Primero, accede al símbolo del sistema de SQL y cambia a la base de datos de empleados. Nuevamente, reemplaza codelab-0
por el nombre de tu instancia, si es diferente:
$ gcloud sql connect codelab-0 --user=root mysql> USE employees; Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -A Database changed mysql> SELECT avg(s.salary) avg_salary_by_hire_year, YEAR(e.hire_date) FROM employees e, salaries s WHERE e.emp_no = s.emp_no GROUP BY YEAR(e.hire_date); +-------------------------+-------------------+ | avg_salary_by_hire_year | YEAR(e.hire_date)| +-------------------------+-------------------+ | 66966.7550 | 1985 | | 66187.3453 | 1986 | ... 16 rows in set (2.70 sec) mysql> SELECT de.dept_no, sum(s.salary) sum_salaries_per_department FROM employees e, salaries s, dept_emp de WHERE e.emp_no = de.emp_no AND e.emp_no = s.emp_no GROUP BY de.dept_no; +---------+-----------------------------+ | dept_no | sum_salaries_per_department| +---------+-----------------------------+ | d001 | 13725425266 | | d002 | 11650834677 | ... +---------+-----------------------------+ 9 rows in set (4.22 sec) mysql> exit;
Cuando termines de consultar el conjunto de datos de empleados de muestra, usa el comando “exit” para salir del símbolo del sistema de MySQL.
Este paso es opcional. Si quieres seguir experimentando con tu instancia de Cloud SQL, no es necesario que la borres en este momento. Sin embargo, se le seguirá cobrando al proyecto que uses por la instancia. Si ya no necesitas esta instancia, bórrala ahora para evitar estos cargos.
Ten en cuenta que, cuando borras una instancia de Cloud SQL, no puedes volver a usar su nombre hasta una semana después.
Tienes dos opciones para borrar tu instancia de Cloud SQL.
1) Usa gcloud
en tu entorno de Cloud Shell. Nuevamente, reemplaza codelab-0 por el nombre de tu instancia, si es diferente:
$ gcloud sql instances delete codelab-0 All of the instance data will be lost when the instance is deleted. Do you want to continue (Y/n)? Y Deleting Cloud SQL instance...done. Deleted $
o
2) Haz clic en SQL en la esquina superior izquierda para volver a la página Instancias de Cloud SQL:
Abre el menú desplegable junto a la instancia que deseas borrar y elige "Borrar":
La eliminación de una instancia es permanente. Los datos de esa instancia no se pueden recuperar. Para evitar que se borre por accidente la instancia incorrecta, debes confirmar la eliminación ingresando el nombre de la instancia en un diálogo de confirmación:
Ingresa el nombre de tu instancia y presiona Borrar.
Creaste una nueva instancia de Cloud SQL, configuraste una contraseña raíz, creaste una base de datos vacía y, de forma opcional, borraste la instancia de Cloud SQL.
Temas abordados
- Crear instancias de Cloud SQL a través de la consola de Google Cloud
- Establecer una contraseña raíz de SQL a través de la consola de Google Cloud
- Conéctate a la base de datos con el cliente MySQL.
- Crear una nueva base de datos de MySQL a través del símbolo del sistema de mysql
- Se borró la instancia de Cloud SQL.
Más información
- Consulta la documentación de Google Cloud SQL.