Funciones de Cloud SQL para MySQL

En esta página se describen las características y capacidades principales de Cloud SQL para MySQL. Cloud SQL también está disponible para PostgreSQL y SQL Server.

Funciones de MySQL de ediciones de Cloud SQL

Para obtener más información sobre las funciones de las ediciones Cloud SQL Enterprise Plus y Cloud SQL Enterprise de Cloud SQL para MySQL, consulta Introducción a las ediciones de Cloud SQL.

Funciones generales de MySQL compatibles con Cloud SQL

  • Bases de datos completamente administradas de MySQL Community Edition en la nube
  • Instancias disponibles en América, la UE, Asia y Australia. Consulta todas las ubicaciones en las que puedes crear instancias de Cloud SQL.
  • Admite la migración de bases de datos de origen a bases de datos de destino de Cloud SQL mediante Database Migration Service (DMS).
  • Encriptación de los datos de clientes en las redes internas de Google, así como en tablas de bases de datos, archivos temporales y copias de seguridad
  • Compatibilidad con conexiones externas seguras mediante el proxy de autenticación de Cloud SQL o el protocolo SSL/TLS
  • Compatibilidad con IP privadas (acceso privado a los servicios)
  • Replicación de datos entre varias zonas* con conmutación por error automática
  • Importación y exportación de bases de datos con mysqldump o importación y exportación de archivos CSV.
  • Compatibilidad con el protocolo de cable de MySQL y los conectores estándar de MySQL.
  • Copias de seguridad automáticas y a pedido, además de recuperación de un momento determinado.
  • Clonación de instancias.
  • Integración en el registro y la supervisión de Google Cloud Observability.
  • Cumplimiento de las normas ISO/IEC 27001

* Las regiones de México, Montreal y Osaka tienen tres zonas dentro de uno o dos centros de datos físicos. Estas regiones están en proceso de expansión a, al menos, tres centros de datos físicos. Para obtener más información, consulta Ubicaciones de Cloud y ANS de Google Cloud Platform. Para mejorar la confiabilidad de tus cargas de trabajo, considera una implementación multirregional.

Lenguajes de aplicaciones compatibles con Cloud SQL para MySQL

Puedes usar Cloud SQL con aplicaciones de App Engine que se ejecutan en el entorno flexible y que están escritas en los siguientes formatos:

  • C#
  • Go
  • Java
  • Node.js
  • PHP
  • Python
  • Ruby

También puedes usar Cloud SQL con aplicaciones externas que usan el protocolo estándar de MySQL.

Formas en las que puedes conectarte a instancias de Cloud SQL para MySQL

Puedes conectarte a una instancia de Cloud SQL desde los siguientes vínculos:

No se admite la conexión a Cloud SQL con un Acceso privado a Google. Sí se admite el acceso privado a los servicios. Si deseas obtener más información, consulta Opciones de acceso privado a los servicios.

Administración de usuarios en Cloud SQL para MySQL 8.0

Debido a los cambios en MySQL 8.0, no puedes usar sentencias CREATE ni DELETE para la administración de usuarios de MySQL. Tampoco puedes modificar los privilegios de usuario mediante las instrucciones INSERT, UPDATE o DELETE. En su lugar, usa las instrucciones CREATE USER, DROP USER, GRANT y REVOKE para modificar los privilegios de usuario. A fin de obtener más información, consulta Notas de la administración de cuentas.

Nota: Ignora la información en las notas de administración de cuentas sobre cómo ejecutar mysql_upgrade para actualizar a la versión 8.0. En su lugar, realiza la actualización mediante el procedimiento que se indica en Actualiza MySQL en una instancia.

Diferencias entre las funciones MySQL y Cloud SQL para MySQL

En general, las funciones de MySQL que proporciona una instancia de Cloud SQL son las mismas que las que proporciona una instancia de MySQL que se aloja de forma local. Sin embargo, hay algunas diferencias entre una instancia de MySQL estándar y una instancia de Cloud SQL.

Funciones de MySQL no compatibles con Cloud SQL

La siguiente función no es compatible con Cloud SQL para MySQL 5.6 y 5.7:

  • El privilegio SUPER

Las siguientes funciones no son compatibles con Cloud SQL para MySQL 8.0:

La siguiente función no es compatible con Cloud SQL para MySQL 8.4:

  • GTID etiquetados: Para obtener más información sobre los GTID etiquetados, consulta "Replicación de MySQL: GTID etiquetados" en la sección Funciones agregadas o modificadas en MySQL 8.4 de las notas de la versión 8.4 de MySQL.

Además, Cloud SQL para MySQL no otorga los siguientes privilegios que se introdujeron en MySQL 8.4:

Complementos de MySQL no compatibles con Cloud SQL

Instrucciones de MySQL no compatibles con Cloud SQL

Las siguientes instrucciones de SQL generan un error con el mensaje Error 1290: The MySQL server is running with the Google option so it cannot execute this statement:

  • LOAD DATA INFILE

  • SELECT ... INTO OUTFILE

  • SELECT ... INTO DUMPFILE

  • INSTALL PLUGIN ...

  • UNINSTALL PLUGIN

  • CREATE FUNCTION ... SONAME ...

Las siguientes instrucciones no son compatibles porque las instancias de MySQL usan la replicación GTID:

  • Declaraciones CREATE TABLE ... SELECT
  • Transacciones o instrucciones que actualizan tablas transaccionales y no transaccionales

La siguiente instrucción de MySQL no es compatible con Cloud SQL para MySQL 5.6 y 5.7, pero es compatible con Cloud SQL para MySQL 8.0.

  • Declaraciones CREATE TEMPORARY TABLE en transacciones

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

Funciones de MySQL no compatibles con Cloud SQL

  • LOAD_FILE()

Funciones del programa cliente de MySQL no compatibles con Cloud SQL

Opciones predeterminadas de MySQL para Cloud SQL

Cloud SQL ejecuta MySQL con un conjunto específico de opciones. Si una opción puede afectar la forma en que funcionan tus aplicaciones, la anotamos aquí para que estés informado.

skip-name-resolve

Esta marca afecta cómo se resuelven los nombres de host para las conexiones de clientes. Consulta skip-name-resolve en la documentación de MySQL.

log_bin

Esta marca informa si el registro binario está habilitado. Si se usa la opción --log-bin, el valor de esta variable es ON; de lo contrario, es OFF. Consulta log_bin en la documentación de MySQL.

Autenticación de MySQL

En esta sección, se describen los cambios realizados en la autenticación integrada de MySQL.

Complemento de autenticación predeterminado de MySQL 8.0

Cloud SQL para MySQL 8.0 usa mysql_native_password como el complemento de autenticación predeterminado para usuarios nuevos en lugar de caching_sha2_password. El complemento mysql_native_password es la opción predeterminada para los usuarios de MySQL 5.6 y 5.7.

Si deseas que los usuarios nuevos usen el complemento caching_sha2_password como la autenticación predeterminada, puedes configurar la marca de tu instancia para que default_authentication_plugin use caching_sha2_password.

A fin de configurar los usuarios existentes para que usen caching_sha2_password, usa el comando ALTER USER a fin de cambiar el complemento de autenticación.

Es posible que los usuarios que tengan la autenticación caching_sha2_password deban usar la marca get-server-public-key cuando se conecten. Para obtener más información, consulta Caching SHA-2 Pluggable Authentication en la documentación de MySQL.

Complemento de autenticación predeterminado de MySQL 8.4

A partir de Cloud SQL para MySQL 8.4, el complemento caching_sha2_password es el complemento de autenticación predeterminado. Todos los usuarios internos y las cuentas de usuario nuevas que crees usarán el complemento caching_sha2_password para la autenticación. Cloud SQL para MySQL 8.4 sigue admitiendo las cuentas de usuario existentes de Cloud SQL que usan el complemento mysql_native_password. Estas cuentas existentes pueden seguir conectándose a instancias de Cloud SQL para MySQL después de que se hayan actualizado a MySQL 8.4.

En Cloud SQL para MySQL 8.4, el complemento de autenticación mysql_native_password dejó de estar disponible. Cualquier intento de crear una cuenta de usuario nueva con el complemento de autenticación mysql_native_password obsoleto genera un error. No puedes configurar el authentication_policy de una cuenta en Cloud SQL para MySQL 8.4 para usar mysql_native_password.

Para cambiar las cuentas de usuario de la base de datos existentes para que usen el complemento de autenticación caching_sha2_password, usa el siguiente comando:

ALTER USER 'username'@'%'
IDENTIFIED WITH caching_sha2_password BY 'user_password';

Reemplaza username y user_password por los valores de la cuenta de usuario que deseas actualizar.

Para obtener más información sobre las implicaciones de este cambio en la compatibilidad entre servidores, clientes y conectores, consulta caching_sha2_password as the Preferred Authentication Plugin.

Cambios en las marcas del sistema de MySQL en Cloud SQL

Para algunas marcas del sistema MySQL, Cloud SQL usa valores diferentes de los predeterminados. No puedes cambiar los valores de estas marcas. Para obtener una lista de marcas, consulta Cambio de indicadores del sistema en Cloud SQL.

Funciones de Cloud SQL no compatibles con Cloud SQL para MySQL 8.0 y versiones posteriores

Cloud SQL para MySQL 8.0 y versiones posteriores no admiten la configuración de alta disponibilidad (HA) heredada de Cloud SQL para MySQL que usa réplicas de conmutación por error. Cloud SQL para MySQL 8.0 y versiones posteriores solo admiten la configuración de alta disponibilidad regional.