Características 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 las funciones y capacidades más importantes de Cloud SQL para PostgreSQL. Cloud SQL también está disponible para MySQL y SQL Server.

Cloud SQL para MySQL

Características

  • Bases de datos completamente administradas de MySQL Community Edition en la nube
  • Las instancias de Cloud SQL son compatibles con MySQL 8.0, 5.7 (opción predeterminada) y 5.6, y proporcionan hasta 416 GB de RAM y 30 TB de almacenamiento de datos, con la opción de aumentar el tamaño de almacenamiento de forma automática, según sea necesario
  • Creación y administración de instancias en Google Cloud Console
  • Instancias disponibles en EE.UU., la UE, Asia y Australia
  • 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 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
  • 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's operations suite
  • Cumplimiento de las normas ISO/IEC 27001

Lenguajes admitidos

Puedes usar Cloud SQL para MySQL con aplicaciones de App Engine escritas en Java, Python, PHP, Node.js, Go y Ruby. También puedes usar Cloud SQL para MySQL con aplicaciones externas mediante el protocolo estándar de MySQL.

Cómo conectarte a instancias de Cloud SQL para MySQL

A continuación, se incluyen las opciones desde las que puedes conectarte a una instancia de Cloud SQL para MySQL:

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

Administración de usuarios en MySQL para Cloud SQL 8.0

Debido a los cambios en MySQL 8.0, no puedes usar 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 y DROP USER, y 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 características de Cloud SQL y MySQL estándar

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 de forma local. Sin embargo, hay algunas diferencias entre una instancia de MySQL estándar y una instancia de Cloud SQL para MySQL.

Características de MySQL no compatibles

La siguiente característica no es compatible con MySQL para Cloud SQL 5.6 y 5.7:

  • El privilegio SUPER

Las siguientes características no son compatibles con MySQL para Cloud SQL 8.0:

Complementos no compatibles

Declaraciones no compatibles

Las siguientes instrucciones de SQL generan un error con el mensaje “Error 1290: El servidor MySQL se está ejecutando con la opción de Google, por lo que no puede ejecutar esta instrucción”:

  • LOAD DATA INFILE

    Ten en cuenta que LOAD DATA LOCAL INFILE es compatible.

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

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

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

  • Instrucciones CREATE TEMPORARY TABLE en transacciones

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

Funciones no compatibles

  • LOAD_FILE()

Características no compatibles del programa cliente

  • mysqlimport sin usar la opción --local. Esto se debe a la restricción LOAD DATA INFILE. Si necesitas cargar datos de forma remota, usa la función de importación de Cloud SQL.

  • mysqldump mediante la opción --tab o las opciones que se usan con --tab. Esto se debe a que el privilegio FILE no se otorga a los usuarios de la instancia. El resto de las opciones mysqldump son compatibles.

  • Si deseas importar bases de datos con datos binarios en tu instancia de Cloud SQL para MySQL, debes usar la opción --hex-blob con mysqldump.

    Aunque hex-blob no es una marca obligatoria cuando usas una instancia de servidor MySQL local y el cliente mysql, lo es si deseas importar bases de datos con datos binarios a tu instancia de Cloud SQL. Para obtener más información acerca de la importación de datos, consulta cómo importar datos.

  • No todas las opciones y parámetros de MySQL están habilitados para editar como marcas de Cloud SQL.

    Para solicitar que se agregue una marca configurable de Cloud SQL, usa el grupo de discusión sobre Cloud SQL.

  • InnoDB es el único motor de almacenamiento compatible. Para obtener ayuda con la conversión de tablas de MyISAM a InnoDB, consulta la documentación de MySQL.

Opciones predeterminadas de MySQL en 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. Obtén más información.

log_bin

Esta marca habilita el registro binario. Está inhabilitado de forma predeterminada en MySQL para Cloud SQL, incluido MySQL 8.0. Obtén más información. Puedes anular esta configuración predeterminada si habilitas el registro binario en una instancia.

Autenticación de MySQL 8.0

MySQL 8.0 para Cloud SQL usa mysql_native_password como el complemento de autenticación predeterminado para usuarios nuevos, en lugar de usar 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 la sección de la documentación de MySQL sobre el uso de la autenticación con complementos SHA-2 (Using SHA-2 Pluggable Authentication)[https://dev.mysql.com/doc/refman/8.0/en/sha256-pluggable-authentication.html#sha256-pluggable-authentication-usage].

Característica de Cloud SQL no compatible en MySQL 8.0 para Cloud SQL

MySQL 8.0 para Cloud SQL no es compatible con la versión heredada de la configuración de alta disponibilidad (HA) de MySQL que usa réplicas de conmutación por error. En cambio, admite la nueva configuración de HA regional.