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:
- Un cliente de
mysql
- 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 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:
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
- Complemento memcached de InnoDB
- Complemento X
- Clonar complemento
- Cifrado de datos en reposo de InnoDB
- Componente validate_password
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
mysqldump
con la opción--tab
u opciones que se usan con--tab
. Esto se debe a que el privilegio FILE no se concede a los usuarios de la instancia. Se admiten todas las demás opciones demysqldump
. Para obtener información sobre cómo usar las opciones demysqldump
que optimizan el archivo para importarlo a Cloud SQL, consulta Exportar 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 Importar datos mediante un archivo de volcado o Importar datos mediante un archivo CSV.Si quieres importar bases de datos con datos binarios en tu instancia de Cloud SQL, debes usar la opción
--hex-blob
conmysqldump
.Aunque
hex-blob
no es una marca obligatoria cuando se usa una instancia de servidor MySQL local y el clientemysql
, sí lo es si quieres importar bases de datos con datos binarios en tu instancia de Cloud SQL. Para importar datos a tu instancia de Cloud SQL, consulta Importar datos mediante un archivo de volcado o Importar datos mediante un archivo CSV.No todas las opciones y los parámetros de MySQL están habilitados para editarse como marcas de Cloud SQL.
Para solicitar que se añada una marca de Cloud SQL configurable, usa el grupo de debate de Cloud SQL.
InnoDB es el único motor de almacenamiento compatible. Para obtener ayuda sobre cómo convertir tablas de MyISAM a InnoDB, consulta el artículo Converting table to InnoDB (Convertir una tabla a InnoDB) de la documentación de MySQL.
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.