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.
Funciones de PostgreSQL por ediciones de Cloud SQL
Para obtener más información sobre las funciones de cada edición de Cloud SQL para PostgreSQL, consulta el artículo Introducción a las ediciones de Cloud SQL.
Compatibilidad con funciones de PostgreSQL en Cloud SQL
- Bases de datos PostgreSQL totalmente gestionadas 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.
- Replicación de datos entre varias zonas con conmutación por error automática.
- Importar y exportar bases de datos mediante archivos de volcado de SQL.
- Compatibilidad con el protocolo cliente-servidor de PostgreSQL y los conectores estándar de PostgreSQL.
- 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.
- Compatibilidad con varias versiones de PostgreSQL.
- Replicación lógica
Extensiones de PostgreSQL compatibles con Cloud SQL
Cloud SQL admite muchas extensiones de PostgreSQL. Para ver una lista completa de estas extensiones, consulta Configurar extensiones de PostgreSQL.
Lenguajes de procedimientos de PostgreSQL admitidos en Cloud SQL
Cloud SQL admite el PL/pgSQL
lenguaje de procedimientos SQL.
Idiomas admitidos en Cloud SQL para PostgreSQL
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 mediante el protocolo estándar de cliente-servidor de PostgreSQL.
Conectarse a instancias de Cloud SQL for PostgreSQL
Puedes conectarte a una instancia de Cloud SQL desde:
- Un cliente de
psql
. Más información - Herramientas de terceros que usan el protocolo de cliente-servidor estándar de PostgreSQL
- Aplicaciones externas. Más información
- Aplicaciones de App Engine. Más información
- Aplicaciones que se ejecutan en Compute Engine. Más información
- Aplicaciones que se ejecutan en Google Kubernetes Engine. Más información
- Cloud Run Functions. Más información
- Cloud Run. Más información
No se admite la conexión a Cloud SQL con acceso privado a Google.
Diferencias entre PostgreSQL estándar y Cloud SQL para PostgreSQL
En general, la funcionalidad de PostgreSQL proporcionada por una instancia de Cloud SQL es la misma que la que proporciona una instancia de PostgreSQL alojada de forma local. Sin embargo, hay algunas diferencias entre una instancia de PostgreSQL estándar y una instancia de Cloud SQL.
Funciones no admitidas en Cloud SQL para PostgreSQL
Cualquier función que requiera privilegios de
SUPERUSER
, con las siguientes excepciones:Solo puede usar la instrucción
CREATE EXTENSION
con extensiones admitidas.Si se te ha asignado el rol
cloudsqlsuperuser
, puedes ejecutar las instruccionesCREATE CAST
yDROP CAST
. Para obtener más información, consulta Restricciones y privilegios de superusuario.
El método de conversión
WITHOUT FUNCTION
.Trabajadores en segundo plano personalizados.
El cliente
psql
de Cloud Shell no admite operaciones que requieran una reconexión, como conectarse a otra base de datos mediante el comando\c
.Compilación Just-in-Time (JIT) de Low-Level Virtual Machine (LLVM).
Diferencias notables entre PostgreSQL y Cloud SQL para PostgreSQL
Algunas opciones y parámetros de PostgreSQL no se pueden editar como flags de Cloud SQL.
Para solicitar que se añada una marca de Cloud SQL configurable, usa el foro de Cloud SQL para PostgreSQL.
Compatibilidad con funciones de SQL Server en Cloud SQL
- Bases de datos de SQL Server totalmente gestionadas en la nube.
- Tipos de máquinas personalizadas con hasta 624 GB de RAM y 96 CPUs.
- Hasta 64 TB de almacenamiento disponibles, con la posibilidad de aumentar automáticamente el tamaño del almacenamiento según sea necesario.
- Crea y gestiona instancias en la Google Cloud consola.
- Instancias disponibles en América, Asia, Australia o Europa. Consulta todas las ubicaciones en las que puedes crear instancias de Cloud SQL.
- 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.
- Cifrado a nivel de columna y de celda para bases de datos de usuarios.
- Compatibilidad con conexiones externas seguras mediante el proxy de autenticación de Cloud SQL o el protocolo SSL/TLS.
- Importa bases de datos con archivos BAK y SQL.
- Exporta bases de datos con archivos BAK.
- Copias de seguridad automáticas, copias de seguridad bajo demanda y recuperación a un momento dado.
- Clonación de instancias.
- Integración con Stackdriver Logging y Stackdriver Monitoring.
- Agente SQL Server habilitado para facilitar la replicación y otros trabajos.
- Replicación de datos entre varias regiones.
- Define una recopilación predeterminada para las bases de datos al crear una instancia.
- Alta disponibilidad mediante un disco persistente regional.
- Integración con el servicio gestionado para Microsoft Active Directory, incluida la autenticación de Windows.
- Captura de datos de cambios (CDC).
- Procesamiento inteligente de consultas.
- Recuperación de bases de datos acelerada.
- Clasificación de datos mejorada.
- Compatibilidad con la codificación de caracteres UTF-8.
- Monitorización mejorada.
- Enmascaramiento dinámico de datos (DDM).
- Servidores vinculados.
- Auditoría de SQL Server.
- Editor de SQL Server.
- Suscriptor de SQL Server.
- SQL Server Integration Services (SSIS) que se ejecuta en un host independiente y se conecta a Cloud SQL.
- SQL Server Reporting Services (SSRS), que se ejecuta en un host independiente y se conecta a Cloud SQL.
- La utilidad del programa de copia masiva (bcp). Para obtener más información sobre cómo descargar e instalar la utilidad bcp, consulta la documentación de Microsoft.
- Importaciones y exportaciones de archivos BACPAC mediante SqlPackage. Para obtener más información sobre cómo descargar e instalar SqlPackage, consulta la documentación de Microsoft.
- Inserción en bloque para importar datos. Esta función solo está disponible en SQL Server 2022. Puede usar un procedimiento almacenado para realizar inserciones en bloque. Para obtener más información, consulta Usar la inserción masiva para importar datos.
- Cifrado de datos transparente (TDE). Para obtener más información, consulta el artículo Acerca de TDE.
- Always Encrypted sin enclave seguro.
- Eventos extendidos (XEvents).
- Compatibilidad con zonas horarias personalizadas al crear instancias y después de crear instancias.
- Tablas temporales. Para obtener más información, consulta Tablas temporales.
Funciones de SQL Server no disponibles en Cloud SQL
Las siguientes funciones no están disponibles en Cloud SQL y Google Cloud no las admite:
Funciones generales de SQL Server no disponibles en Cloud SQL
- SQL Server Analysis Services (SSAS)
- SP_Configure settings. Para obtener más información sobre esta función, consulta el artículo Configurar marcas de bases de datos.
- Base de datos elástica
- Crear copias de seguridad en Microsoft Azure Blob Storage
- Extensión del grupo de búferes
- Función OPENROWSET
- Data Quality Services
- Envío de registros de bases de datos
- Correo de base de datos
- Coordinador de transacciones distribuidas (MSDTC)
- Tablas de archivos
- Compatibilidad con FILESTREAM
- Instalar un servidor que requiera una instalación completa del servidor con mecanismos de autenticación específicos, como Azure DevOps Server.
- Planes de mantenimiento
- Recopilador de datos de rendimiento
- Gestión basada en políticas
- PolyBase
- Aprendizaje automático y servicios de R
- Resource Governor
- Activadores a nivel de servidor
- Puntos finales de Service Broker
- Endpoints de T-SQL (no se pueden usar las operaciones que usan
CREATE ENDPOINT
) - WCF Data Services
- El rol
sysadmin
y los procedimientos almacenados del sistema que lo requieren - Grupo de búferes híbrido
- Metadatos de tempdb optimizados para memoria
- Compatibilidad con OLTP en memoria para las instantáneas de bases de datos
- Registrar idiomas externos
- Seguridad a nivel de fila
- Copia de seguridad y restauración de almacenamiento de objetos
- Memoria persistente (PMEM)
- Analíticas operacionales en tiempo real
- Aceleración y descarga integradas
- Grupo de almacenamiento intermedio híbrido con escritura directa
- Replicación multiescritura
- Enlace a la instancia gestionada de Azure SQL
- Grupo de disponibilidad independiente
- Always Encrypted con enclaves seguros
- Autenticación de Azure Active Directory
- Compatibilidad con certificados PFX y otras mejoras criptográficas
- Protocolo MS-TDS 8.0 y TLS 1.3
Otras operaciones de SQL Server no disponibles en Cloud SQL
- GESTIONAR OPERACIONES EN LOTE
- ALTER ANY CREDENTIAL
- MODIFICAR CUALQUIER NOTIFICACIÓN DE EVENTO
- MODIFICAR CUALQUIER SESIÓN DE EVENTO
- ALTER RESOURCES
- MODIFICAR AJUSTES
- AUTENTICAR SERVIDOR
- CONTROL_SERVER
- CREATE DDL EVENT NOTIFICATION
- CREATE ENDPOINT
- CREATE TRACE EVENT NOTIFICATION
- CONJUNTO DE ACCESO EXTERNO
- RESTAURAR
- SHUTDOWN
- CLR ASSEMBLIES
Sintaxis admitida en Cloud SQL para SQL Server
Cloud SQL admite la sintaxis de Transact-SQL.
Idiomas admitidos en Cloud SQL para SQL Server
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
Cómo conectarse a instancias de Cloud SQL para SQL Server
Puedes conectarte a una instancia de Cloud SQL desde:
No se admite la conexión a Cloud SQL con acceso privado a Google.