Para migrar una carga de trabajo de otra plataforma a Cloud SQL para MySQL, a menudo es necesario usar la Google Cloud consola para importar datos de un archivo de volcado de SQL que se exporta del entorno anterior.
En este tutorial se muestra cómo crear los Google Cloud recursos que necesitas y, a continuación, importar una base de datos SQL a una instancia de Cloud SQL para MySQL. En el tutorial se muestran las prácticas recomendadas para migrar a Cloud SQL para MySQL, incluido el uso de una red de nube privada virtual (VPC) con acceso a servicios privados y la habilitación de la IP privada para tu instancia de Cloud SQL.
A medida que sigas los pasos, mantén los valores predeterminados de los ajustes, a menos que se indique lo contrario.
Objetivos
- Descarga un archivo de volcado de SQL de ejemplo.
- Crea una red de nube privada virtual con acceso a servicios privados.
- Crea un segmento de Cloud Storage y sube un archivo de volcado de SQL.
- Crea una instancia de Cloud SQL para MySQL configurada para usar una IP privada.
- Crea un usuario.
- Importa el archivo de volcado a una base de datos nueva.
- Para comprobar que la base de datos se ha importado correctamente, consulta la estructura y ejecuta una consulta.
Costes
En este documento, se utilizan los siguientes componentes facturables de Google Cloud:
Para generar una estimación de costes basada en el uso previsto,
utiliza la calculadora de precios.
Cuando termines las tareas que se describen en este documento, puedes evitar que se te siga facturando eliminando los recursos que has creado. Para obtener más información, consulta la sección Limpiar.
Antes de empezar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Si vas a usar un proyecto que ya tengas para seguir esta guía, verifica que tienes los permisos necesarios para completarla. Si has creado un proyecto, ya tienes los permisos necesarios.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud SQL, Cloud SQL Admin, Compute Engine, Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Si vas a usar un proyecto que ya tengas para seguir esta guía, verifica que tienes los permisos necesarios para completarla. Si has creado un proyecto, ya tienes los permisos necesarios.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud SQL, Cloud SQL Admin, Compute Engine, Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Administrador de Cloud SQL (
roles/cloudsql.admin) -
Administrador de almacenamiento (
roles/storage.admin) -
Administrador de red de Compute (
roles/compute.networkAdmin) En la Google Cloud consola, ve a la página Redes de VPC.
Haz clic en Crear red VPC.
En el campo de nombre, introduce
tutorial-network.En Modo de creación de subred, selecciona Personalizado.
En el campo de nombre, introduce
tutorial-subnet.Selecciona una región cercana.
En Intervalo de IPv4, introduce
10.0.0.0/24.En Acceso privado de Google, selecciona Activado.
Haz clic en Listo.
En la parte inferior de la página, haz clic en Crear.
- En la pantalla de redes de VPC, haz clic en tutorial-network.
- En la barra de menú de tutorial-network, haz clic en Acceso a servicios privados.
- Haz clic en Intervalos de direcciones IP asignados para los servicios.
- Haz clic en Asignar intervalo de IPs.
- En Nombre, introduce
tutorial-range. - En Intervalo de direcciones IP, selecciona Personalizado.
- En el campo Intervalo, introduce
192.168.0.0/20. - Haz clic en Asignar.
- En el submenú, haz clic en Conexiones privadas a servicios.
- Haga clic en Crear conexión.
- En el desplegable Asignación asignada, selecciona tutorial-range.
- Haz clic en Conectar. En un minuto o dos, la consola mostrará un mensaje que te indicará que has creado una conexión privada correctamente. Google Cloud
- En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.
- Haz clic en Crear.
- En el campo Nombre del segmento, crea un nombre único a nivel global que incluya letras minúsculas, números y guiones. Puedes usar un generador de cadenas aleatorias, como random.org/strings, para generar el nombre. Anota el nombre que elijas.
- Haz clic en Continuar.
- En Tipo de ubicación, selecciona Región. Esta es la opción más económica.
- Elige la misma región que elegiste para tu subred. Si colocas tus recursos en la misma región, se reduce la latencia, se mejora la velocidad, se disminuyen los costes de transferencia de datos y se simplifica la red.Google Cloud
- Haz clic en Continuar.
- Haz clic en Crear.
- Si aparece un cuadro de diálogo, deja seleccionada la opción Impedir el acceso público a este segmento y haz clic en Confirmar.
- En la pestaña Objetos, haga clic en Subir y, a continuación, en Subir archivos.
- Ve al archivo
countries-mysql.sqly selecciónalo. - Haz clic en Abrir. Cloud Storage sube el archivo de volcado al segmento.
- Ve a la página Instancias de Cloud SQL de la Google Cloud consola.
Ve a la página Instancias de Cloud SQL - Haz clic en Crear instancia.
- Haz clic en Elegir MySQL.
- En Elige una edición de Cloud SQL, selecciona Enterprise.
- En Preajuste de edición, selecciona Sandbox.
- En Instance ID (ID de instancia), introduce
tutorial-instance. - Elige e introduce una contraseña para la cuenta de usuario predeterminada y guárdala para usarla en el futuro.
- Elige la misma región que elegiste para la subred y el segmento.
- En Disponibilidad por zona, selecciona Una sola zona.
- Despliega Mostrar opciones de configuración.
- Despliega Conexiones.
- Borra IP pública.
- Selecciona IP privada.
- En el menú desplegable Red, selecciona tutorial-network. De esta forma, la nueva instancia de Cloud SQL se colocará en la red privada que has creado anteriormente.
- Haz clic en Crear instancia y espera a que se inicialice y se inicie. El proceso de inicialización puede tardar más de cinco minutos.
- En el menú de navegación de SQL, haz clic en Usuarios.
- Haz clic en Añadir cuenta de usuario.
- En el panel que se abre, selecciona Autenticación integrada.
- En el campo User name (Nombre de usuario), introduce
tutorial-user. - Introduce una contraseña para el nuevo usuario. Guarda esta contraseña para usarla en el futuro.
- Selecciona Permitir a todos los hosts.
- Haz clic en Añadir.
- En el menú de navegación de SQL, haz clic en Vista general.
- En la página de resumen, haz clic en Importar.
- En Formato de archivo, selecciona SQL.
- En Seleccionar archivo de origen, elija Seleccionar archivo de Google Cloud Storage.
- Haz clic en Explorar.
- Expande el segmento de almacenamiento que has creado anteriormente.
- Haz clic en countries-mysql.sql.
- Haz clic en Seleccionar.
- En el campo Base de datos de la sección Destino, comprueba que esté seleccionada la opción Especificado en el archivo SQL.
- Haz clic en Importar.
- En el menú de navegación de SQL, haz clic en Cloud SQL Studio. Se muestra un cuadro de diálogo de inicio de sesión.
- En el desplegable Base de datos, elige countries.
- Selecciona Autenticación de bases de datos integrada.
- En el menú desplegable Usuario, selecciona tutorial-user.
- En el campo Contraseña, introduce la contraseña que hayas elegido para el usuario en la sección Añadir un usuario.
- Haz clic en Autenticar. Se abre Cloud SQL Studio.
- En el panel Explorador, examina la base de datos
countriesy confirma que tiene dos tablas:capitalsycountry_codes. - Haz clic en Consulta sin título para abrir el editor de consultas.
Pega el siguiente código en el editor de consultas:
SELECT `capitals`.`country_capital`, `country_codes`.`country_name` FROM `capitals` JOIN `country_codes` ON `capitals`.`alpha_2_code` = `country_codes`.`alpha_2_code` ORDER BY `capitals`.`country_capital`;Haz clic en Ejecutar.
- Elimina el proyecto que contiene los recursos
- Conservar el proyecto y eliminar los recursos concretos.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
- En el menú de navegación de SQL, haz clic en Vista general.
- Haz clic en Editar.
- Despliegue la sección Protección de datos.
- En Protección contra la eliminación de instancias, desmarca todas las opciones.
- Haz clic en Guardar. Cuando se haya completado la operación, podrás seleccionar Eliminar.
- Haz clic en Eliminar. Aparecerá un cuadro de diálogo.
- En el campo ID de instancia, introduce
tutorial-instance. - Haz clic en Eliminar.
- En el menú de navegación principal de la consola, ve a Cloud Storage > Buckets. Google Cloud
- Selecciona la casilla situada junto al nombre del segmento que has creado anteriormente.
- Haz clic en Eliminar.
- En el cuadro de diálogo, confirma la eliminación escribiendo
DELETEy, a continuación, haz clic en Eliminar. - En el menú de navegación principal, ve a Redes de VPC > Peering de redes de VPC.
- Selecciona la casilla situada junto a la conexión de emparejamiento con la red de VPC tutorial-network.
- Haz clic en Eliminar.
- En el cuadro de diálogo, haz clic en Eliminar para confirmar la acción.
- En el menú Red de VPC, haz clic en Redes de VPC.
- Haz clic en tutorial-network para abrir la página de detalles.
- Haz clic en Eliminar red de VPC.
- En el cuadro de diálogo, confirma la eliminación escribiendo
tutorial-networky, a continuación, haz clic en Eliminar. - Prácticas recomendadas para importar y exportar datos
- Exportar e importar con archivos de volcado de SQL
- Redes de VPC
- Consulta arquitecturas de referencia, diagramas y prácticas recomendadas sobre Google Cloud. Consulta nuestro Centro de arquitectura de Cloud.
Roles obligatorios
Para obtener los permisos que necesitas para completar este tutorial, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en tu proyecto:
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.
También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.
Obtener un archivo de volcado de una base de datos de muestra
En este tutorial, usarás una pequeña base de datos de muestra que contiene códigos de países y capitales del mundo.
Descarga el archivo SQL de la base de datos countries en tu entorno local: countries-mysql.sql.
Crear una red con acceso privado a servicios
Antes de crear el resto de los recursos, crea una red de VPC para ejecutar tus servicios. El acceso a servicios privados te permite restringir el acceso a tu base de datos de Cloud SQL estableciendo una conexión privada entre tu red externa y Cloud SQL para MySQL mediante direcciones IPv4 internas.
Una vez que se haya completado el proceso de creación de la red VPC, puedes configurar el acceso a servicios privados para la red.
Crea un segmento de Cloud Storage
A continuación, crea un segmento de Cloud Storage para almacenar el archivo de volcado SQL que has descargado anteriormente. La herramienta de importación de Cloud SQL espera que el archivo de volcado se encuentre en un segmento. Un segmento de Cloud Storage debe tener un nombre único a nivel global.
Se abrirá la página Detalles del segmento del nuevo segmento con el panel Objetos seleccionado.
Subir el archivo de volcado al segmento
Sube al segmento el archivo de volcado de SQL de muestra que has descargado antes.
Crear una instancia de Cloud SQL
Crea una instancia de Cloud SQL en la Google Cloud consola con los siguientes ajustes. En el resto de los ajustes, mantén los valores predeterminados. Aunque no es necesario habilitar la IP privada para el proceso de importación, se recomienda usarla en cargas de trabajo de producción.
Añadir un usuario
Antes de poder leer o escribir en una base de datos, debes crear un usuario de base de datos que sea diferente del usuario raíz.
Importar desde el archivo de volcado
Ahora puedes importar la base de datos countries con el archivo de volcado countries-mysql.sql que has subido a tu segmento de Cloud Storage.
Cuando se haya completado el proceso de importación y la base de datos countries se haya importado a Cloud SQL para MySQL, se mostrará un mensaje de confirmación.
Validar los datos importados en Cloud SQL para MySQL
Una vez completada la operación de importación, puede verificar que la base de datos se ha importado conectándose a ella mediante Cloud SQL Studio, inspeccionando la lista de tablas y ejecutando una consulta de prueba en los datos.
Autenticarse en Cloud SQL Studio
Con la cuenta de usuario que has creado antes, conéctate a la nueva base de datos mediante Cloud SQL Studio.
Ver y consultar las tablas
En el panel de resultados se muestra una lista alfabética de las capitales del mundo y sus países.
Limpieza
Para evitar que se apliquen cargos en tu cuenta de Google Cloud por los recursos utilizados en este tutorial, haz una de las siguientes acciones:
Eliminar el proyecto
Eliminar recursos concretos
Si quieres conservar el proyecto, pero evitar que se te apliquen cargos, elimina la instancia de Cloud SQL, el segmento de Cloud Storage y la red de VPC que has creado durante el tutorial.
Eliminar la instancia de Cloud SQL
Primero, inhabilita la protección contra la eliminación y, a continuación, elimina la instancia de Cloud SQL del tutorial:
Eliminar el segmento de Cloud Storage
A continuación, elimina el segmento de almacenamiento y su contenido.
Eliminar la red de VPC
Ahora que has eliminado los recursos de tu red de VPC, puedes eliminar la red. Antes de eliminar la red de VPC, debes eliminar la conexión de peering que se creó automáticamente al crear la red de VPC.
Ahora que se ha eliminado la conexión de intercambio de tráfico entre redes, puedes eliminar la red VPC.