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:
- Un
mysql
cliente - Herramientas de terceros como SQL Workbench o Toad para MySQL.
- Aplicaciones externas
- Aplicaciones de App Engine
- Aplicaciones que se ejecutan en Compute Engine
- Aplicaciones que se ejecutan en Google Kubernetes Engine.
- Cloud Run Functions
- Cloud Run
- Secuencias de comandos de Google Apps Script.
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:
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
- Complemento de InnoDB en Memcached
- Complemento X
- Complemento de clonación
- Encriptación de datos en reposo de InnoDB
- Componente validate_password
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
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 opcionesmysqldump
son compatibles. Si deseas obtener información sobre el uso de opcionesmysqldump
que optimizan tu archivo para importarlo a Cloud SQL, consulta Exporta desde tu servidor MySQL local con mysqldump.mysqlimport
sin usar la opción--local
. Esto se debe a la restricciónLOAD DATA INFILE
. Para importar datos a tu instancia de Cloud SQL, consulta cómo importar mediante un archivo de volcado o cómo importar mediante un archivo CSV.Si deseas importar bases de datos con datos binarios en la instancia de Cloud SQL, debes usar la opción
--hex-blob
conmysqldump
.Aunque
hex-blob
no es una marca obligatoria cuando usas una instancia de servidor MySQL local y el clientemysql
, lo es si deseas importar bases de datos con datos binarios a tu instancia de nube de Cloud SQL. Para importar datos a tu instancia de Cloud SQL, consulta cómo importar mediante un archivo de volcado o cómo importar mediante un archivo CSV.No todas las opciones y parámetros de MySQL se pueden editar como las 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. Si deseas obtener ayuda para convertir tablas de MyISAM a InnoDB, consulta Convierte tablas a InnoDB en la documentación de MySQL.
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.