Conectar el cliente mysql con Cloud SQL Proxy

En esta página se explica cómo conectar un cliente mysql con tu instancia de Cloud SQL mediante el proxy de Cloud SQL, en lugar de a través de IP.

Para obtener información sobre cómo conectar un cliente mysql con una instancia de Cloud SQL mediante IP, consulta Conectar el cliente MySQL a través de direcciones IP.

Para obtener más información sobre cómo funciona el proxy, consulta el apartado Acerca de Cloud SQL Proxy.

Nota: Cloud SQL Proxy solo está disponible para instancias de Cloud SQL de segunda generación.

Antes de empezar

Antes de conectar un mysql con una instancia de Cloud SQL, debes haber hecho lo siguiente:

  • Debes haber creado una instancia de Cloud SQL, incluida la configuración del usuario predeterminado.

    Para obtener más información sobre cómo crear instancias, consulta Crear instancias.

    Si quieres obtener más información sobre cómo configurar el usuario predeterminado, consulta Configurar la cuenta de usuario predeterminada.

  • Debes haber determinado cómo te conectarás con tu instancia.

    Si deseas más información sobre las opciones de conexión disponibles y cómo elegir entre ellas, consulta Opciones de conexión para aplicaciones externas.

Conectar el cliente mysql

Conectar un mysql con la instancia de Cloud SQL mediante el proxy implica los pasos siguientes:

  1. Habilitar la API Cloud SQL
  2. Instalar el proxy
  3. Crear una cuenta de servicio
  4. Iniciar el proxy
  5. Iniciar la sesión de mysql

1. Habilitar la API Cloud SQL

  • Habilita la API Administración de Cloud SQL.

    Habilita la API

  • 2. Instalar el proxy

    Linux de 64 bits

    1. Descarga el proxy:
      wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
      
    2. Haz que el proxy sea ejecutable:
      chmod +x cloud_sql_proxy
      

    Linux de 32 bits

    1. Descarga el proxy:
      wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.386 -O cloud_sql_proxy
      
    2. Haz que el proxy sea ejecutable:
      chmod +x cloud_sql_proxy
      

    macOS de 64 bits

    1. Descarga el proxy:
      curl -o cloud_sql_proxy https://dl.google.com/cloudsql/cloud_sql_proxy.darwin.amd64
      
    2. Haz que el proxy sea ejecutable:
      chmod +x cloud_sql_proxy
      

    macOS de 32 bits

    1. Descarga el proxy:
      curl -o cloud_sql_proxy https://dl.google.com/cloudsql/cloud_sql_proxy.darwin.386
      
    2. Haz que el proxy sea ejecutable:
      chmod +x cloud_sql_proxy
      

    Windows de 64 bits

    Haz clic con el botón derecho en https://dl.google.com/cloudsql/cloud_sql_proxy_x64.exe y selecciona "Guardar vínculo como..." para descargar el proxy con el nombre nuevo cloud_sql_proxy.exe.

    Windows de 32 bits

    Haz clic con el botón derecho en https://dl.google.com/cloudsql/cloud_sql_proxy_x86.exe y selecciona "Guardar vínculo como..." para descargar el proxy con el nombre nuevo cloud_sql_proxy.exe.
    Si el sistema operativo no se incluye aquí, también puedes compilar el proxy desde el origen.

    3. Crear una cuenta de servicio

    Cuando te conectas mediante el proxy, debes autenticarlo con Google Cloud Platform. Puedes utilizar las credenciales de la SDK de Google Cloud o puedes proporcionar al proxy una ruta a un archivo de clave local desde una cuenta de servicio que crees (opción recomendada para instancias de producción). Si optas por las credenciales de la SDK de Google Cloud, puedes saltarte este paso.

    Si deseas obtener más información sobre las cuentas de servicio, consulta la guía de autenticación de Google Cloud Platform.

    1. Accede a la página sobre cuentas de servicio de Cloud SQL de la consola de Google Cloud Platform.

      Ir a la página sobre cuentas de servicio

    2. Si fuera necesario, selecciona el proyecto que contiene la instancia de Cloud SQL.
    3. Haz clic en Crear cuenta de servicio.
    4. En el cuadro de diálogo Crear cuenta de servicio, introduce un nombre descriptivo para la cuenta de servicio.
    5. Como función, selecciona Cloud SQL > Cliente de Cloud SQL.

      También puedes usar la función básica de editor al seleccionar Proyecto > Editor, aunque esta función incluye permisos de Google Cloud Platform.

      Si no ves estas funciones, puede que tu usuario de Google Cloud Platform no cuente con el permiso resourcemanager.projects.setIamPolicy. Puedes consultar tus permisos mediante una búsqueda del ID de usuario en la página sobre gestión de identidades y accesos de la consola de Google Cloud Platform.

    6. Cambia el ID de cuenta de servicio por un valor único que reconozcas para que puedas encontrar fácilmente esta cuenta de servicio más tarde si fuera necesario.
    7. Haz clic en Suministrar una nueva clave privada.
    8. El tipo de clave predeterminado es JSON, que es el valor correcto que se debe usar.
    9. Haz clic en Crear.

      El archivo de clave privada se descargará en la máquina. Puedes cambiar la ubicación en la que se encuentra. Debes proteger el archivo de clave.

    4. Iniciar el proxy

    Según el idioma y el entorno, puedes iniciar el proxy mediante sockets TCP o sockets Unix.

    Sockets TCP

    1. Copia el nombre de conexión de tu instancia desde la página Detalles de la instancia.
    2. Si utilizas una cuenta de servicio para autenticar el proxy, anota la ubicación en la máquina cliente del archivo de clave privada que se creó al crear la cuenta de servicio.
    3. Inicia el proxy.

      Algunas posibles cadenas de invocación del proxy:

      • Con la autenticación del SDK de Google Cloud:
        ./cloud_sql_proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:3306
        
        Ningún sistema, como por ejemplo un servidor de base de datos local, debe estar utilizando el puerto especificado.
      • Con una cuenta de servicio y una especificación de instancia explícita (recomendada para los entornos de producción):
        ./cloud_sql_proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:3306 \
                          -credential_file=<PATH_TO_KEY_FILE> &
        

      Si deseas obtener más información sobre las opciones de proxy, consulta las opciones para autenticar el proxy y las opciones para especificar instancias.

    Sockets Unix

    1. Si utilizas la especificación de instancia explícita, copia el nombre de conexión de tu instancia desde la página Detalles de la instancia.
    2. Crea el directorio donde residirán los sockets de proxy:
      sudo mkdir /cloudsql; sudo chmod 777 /cloudsql
    3. Si utilizas una cuenta de servicio para autenticar el proxy, anota la ubicación en la máquina cliente del archivo de clave privada que se creó al crear la cuenta de servicio.
    4. Abre una nueva ventana de terminal e inicie el proxy.

      Algunas posibles cadenas de invocación del proxy:

      • Con una cuenta de servicio y una especificación de instancia explícita (recomendada para los entornos de producción):
        ./cloud_sql_proxy -dir=/cloudsql -instances=<INSTANCE_CONNECTION_NAME> \
                          -credential_file=<PATH_TO_KEY_FILE> &
      • Con la autenticación de SDK de Google Cloud y la detección automática de instancias:
        ./cloud_sql_proxy -dir=/cloudsql &

      Se recomienda iniciar el proxy en su propia terminal para que puedas supervisar el resultado sin mezclarlo con el resultado de otros programas.

      Si deseas obtener más información sobre las opciones de proxy, consulta las opciones para autenticar el proxy y las opciones para especificar instancias.

    5. Iniciar la sesión del cliente

    Una vez que se ha instalado e iniciado el proxy, puedes iniciar una sesión de mysql mediante el proxy. Este comando se puede utilizar cuando quieras conectarte con tu instancia de Cloud SQL mediante un cliente mysql.

    La cadena de conexión que uses dependerá de si iniciaste el proxy mediante un socket TCP o UNIX.

    Sockets TCP

    1. Inicia el cliente mysql:
      mysql -u <USERNAME> -p --host 127.0.0.1
      

      Cuando te conectas mediante sockets TCP, se accede al proxy a través de 127.0.0.1.

    2. Introduce la contraseña.
    3. Deberías ver el indicador de mysql.

    Sockets Unix

    1. Inicia el cliente mysql:
      mysql -u <USERNAME> -p -S /cloudsql/<INSTANCE_CONNECTION_NAME>
      
    2. Introduce la contraseña.
    3. Deberías ver el indicador de mysql.

    ¿Necesitas ayuda? Si necesitas ayuda con la solución de problemas del proxy, consulta la sección sobre solución de problemas de las conexiones del proxy de Cloud SQL. También puedes consultar nuestra página de asistencia para Cloud SQL.

    Siguientes pasos