Funciones de Cloud SQL para MySQL

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

Funciones de MySQL por ediciones de Cloud SQL

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

Funciones generales de MySQL compatibles con Cloud SQL

  • Bases de datos MySQL Community Edition gestionadas por completo en la nube.
  • Instancias disponibles en América, Asia, Australia y la Unión Europea. 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).
  • Los datos de los clientes se encriptan en las redes internas de Google y en las tablas de bases de datos, los archivos temporales y las 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 servicios).
  • Replicación de datos entre varias zonas con conmutación por error automática.
  • Importar y exportar bases de datos con mysqldump, o importar y exportar archivos CSV.
  • Asistencia para el protocolo de conexión MySQL y conectores MySQL estándar.
  • Copias de seguridad automáticas, copias de seguridad bajo demanda y recuperación a un momento dado.
  • Clonación de instancias.
  • Integración con el registro y la monitorización de Google Cloud Observability.
  • ISO/IEC 27001 compliant.

Idiomas de las aplicaciones compatibles con Cloud SQL para MySQL

Puedes usar Cloud SQL con aplicaciones de App Engine que se ejecuten en el entorno flexible y que estén escritas en:

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

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

Conectarse a las instancias de Cloud SQL for MySQL

Puedes conectarte a una instancia de Cloud SQL desde lo siguiente:

No se admite la conexión a Cloud SQL con Acceso privado de Google. Se admite el acceso a servicios privados. Para obtener más información, consulta el artículo Opciones de acceso privado a servicios.

Gestión de usuarios en Cloud SQL para MySQL 8.0

Debido a los cambios en MySQL 8.0, no puedes usar las instrucciones CREATE ni DELETE para gestionar usuarios de MySQL. Tampoco puedes modificar los privilegios de usuario con las instrucciones INSERT, UPDATE o DELETE. En su lugar, usa las instrucciones CREATE USER, DROP USER, GRANT y REVOKE para modificar los privilegios de los usuarios. Para obtener más información, consulta las notas sobre la gestión de cuentas.

Nota: No tenga en cuenta la información de las notas de gestión de cuentas sobre la ejecución de mysql_upgrade para actualizar a la versión 8.0. En su lugar, actualiza la versión siguiendo el procedimiento que se describe en Actualizar MySQL en una instancia.

Diferencias entre MySQL estándar y Cloud SQL para MySQL

En general, la funcionalidad de MySQL que proporciona una instancia de Cloud SQL es la misma que la que proporciona una instancia de MySQL alojada localmente. 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:

  • 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:

  • GTIDs etiquetados Para obtener más información sobre los GTIDs etiquetados, consulta la sección "MySQL Replication: tagged GTIDs" (Replicación de MySQL: GTIDs etiquetados) de las novedades de MySQL 8.4.

Además, Cloud SQL para MySQL no concede los siguientes privilegios introducidos en MySQL 8.4:

Complementos de MySQL no compatibles con Cloud SQL

Instrucciones de MySQL no compatibles con Cloud SQL

Las siguientes instrucciones 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 ...

No se admiten las siguientes instrucciones porque las instancias de MySQL usan la replicación de GTID:

  • CREATE TABLE ... SELECT extractos
  • 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 sí con Cloud SQL para MySQL 8.0:

  • CREATE TEMPORARY TABLE extractos en las 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 predefinidas de MySQL para Cloud SQL

Cloud SQL ejecuta MySQL con un conjunto específico de opciones. Si una opción puede afectar al funcionamiento de las aplicaciones, la indicaremos aquí.

skip-name-resolve

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

log_bin

Esta marca indica si se ha habilitado el registro binario. 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.

Predeterminado del complemento de autenticación de MySQL 8.0

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

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

Para configurar a los usuarios actuales para que usen caching_sha2_password, usa el comando ALTER USER para 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 al conectarse. Para obtener más información, consulta el artículo Almacenamiento en caché de la autenticación conectable SHA-2 de la documentación de MySQL.

Predeterminado del complemento de autenticación 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 de Cloud SQL que usan el complemento mysql_native_password. Estas cuentas podrán seguir conectándose a instancias de Cloud SQL para MySQL después de que se actualicen a MySQL 8.4.

En Cloud SQL para MySQL 8.4, el mysql_native_password complemento de autenticación está obsoleto. Si se intenta crear una cuenta de usuario con el complemento de autenticación mysql_native_password obsoleto, se producirá un error. No puedes definir el authentication_policy de una cuenta en Cloud SQL para MySQL 8.4 para usar mysql_native_password.

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

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

Sustituye username y user_password por los valores de la cuenta de usuario que vas a 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

En algunas marcas del sistema MySQL, Cloud SQL usa valores que difieren de los valores predeterminados. No puedes cambiar los valores de estas marcas. Para ver una lista de las marcas, consulta Marcas del sistema modificadas 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) de Cloud SQL para MySQL antigua que utiliza réplicas de conmutación por error. Cloud SQL para MySQL 8.0 y versiones posteriores solo admite la configuración de alta disponibilidad regional.