Características de Cloud SQL

En esta página, se describen las características y capacidades principales de Cloud SQL. Cloud SQL está disponible para MySQL, PostgreSQL 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 documentos de MySQL sobre cómo usar la autenticación instalable SHA-2.

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.

Cloud SQL para PostgreSQL

Características

  • Bases de datos de PostgreSQL completamente administradas en la nube
  • Tipos personalizados de máquinas con hasta 624 GB de RAM y 96 CPU
  • Hasta 30 TB de almacenamiento disponible, con la capacidad de aumentar de manera automática el tamaño de almacenamiento 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
  • 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 y bajo demanda
  • Clonación de instancias.
  • Integración en el registro y la supervisión de Google Cloud's operations suite.
  • Compatibilidad con varias versiones de PostgreSQL

Funciones aún no disponibles

Las funciones Postgres 12 y 13 aún no están disponibles para Cloud SQL:

  • Compilación justo a tiempo (JIT) de máquina virtual de nivel bajo (LLVM)
  • Replicación lógica

Extensiones compatibles

Cloud SQL para PostgreSQL es compatible con muchas extensiones de PostgreSQL. Para obtener una lista completa, consulta Extensiones de PostgreSQL.

Lenguajes de procedimientos compatibles

Cloud SQL para PostgreSQL es compatible con el lenguaje de procedimientos de SQL PL/pgSQL.

Lenguajes admitidos

Puedes usar Cloud SQL para PostgreSQL con las aplicaciones de App Engine que se ejecutan en el entorno flexible y están escritas en Java, Python, PHP, Node.js, Go y Ruby. También puedes usar Cloud SQL para PostgreSQL con aplicaciones externas mediante el protocolo cliente-servidor estándar de PostgreSQL.

Cómo conectarte a instancias de Cloud SQL para PostgreSQL

Puedes conectarte a una instancia de Cloud SQL para PostgreSQL desde:

No se admite la conexión a Cloud SQL mediante el Acceso privado a Google.

Diferencias entre las funcionalidades de Cloud SQL y PostgreSQL estándar

En general, la funcionalidad de PostgreSQL que proporciona una instancia de Cloud SQL es la misma que la que proporciona una instancia PostgreSQL alojada de forma local. Sin embargo, hay algunas diferencias entre una instancia de PostgreSQL estándar y una instancia de Cloud SQL para PostgreSQL.

Funciones no compatibles

  • Cualquier función que requiera privilegios de SUPERUSER

    Se hace una excepción a esta regla para la instrucción CREATE EXTENSION, pero solo con extensiones compatibles.

  • Trabajadores en segundo plano personalizados

  • El cliente psql de Cloud Shell no admite operaciones que requieran una reconexión, como la conexión a una base de datos diferente mediante el comando \c.

Diferencias destacadas

Cloud SQL para SQL Server

Funciones

  • Bases de datos de SQL Server completamente administradas en la nube.
  • Tipos personalizados de máquinas con hasta 624 GB de RAM y 96 CPU.
  • Hasta 30 TB de almacenamiento disponible, con la capacidad de aumentar de manera automática el tamaño de almacenamiento según sea necesario.
  • Creación y administración de instancias en la Google Cloud Console
  • Instancias disponibles en EE.UU., UE, Asia o Australia
  • Datos del cliente encriptados en las redes internas de Google y 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
  • Importación de bases de datos mediante archivos BAK y SQL
  • Exportación de bases de datos mediante archivos BAK
  • Copias de seguridad automáticas y bajo demanda
  • Clonación de instancias.
  • Integración en el registro y la supervisión de Stackdriver
  • Agente de SQL Server habilitado para facilitar la replicación y otros trabajos
  • Configuración de una intercalación predeterminada para las bases de datos cuando creas una instancia

Funciones de SQL Server que no están disponibles para Cloud SQL

Funciones generales no disponibles para Cloud SQL

  • SQL Server Reporting Services (SSRS)
  • SQL Server Analysis Services (SSAS), pero puedes usar Compute Engine o un entorno autoadministrado (desde el que te conectas a Cloud SQL)
  • SQL Server Integration Services (SSIS), pero puedes usar Compute Engine o un entorno autoadministrado (desde el cual te conectas a Cloud SQL)
  • Autenticación de anuncios
  • Configuración de SP_Configure (pero consulta Cómo configurar marcas de la base de datos)
  • Base de datos Stretch
  • Creación de una copia de seguridad en Microsoft Azure Blob Storage
  • Extensión del grupo de búfer
  • Funciones BULK INSERT y OPENROWSET(BULK…)
  • Servicios de calidad de los datos
  • Envío de registro de la base de datos
  • Grupos de disponibilidad siempre activa
  • Correo de la base de datos
  • Coordinador de transacciones de distribución (MSDTC)
  • Tablas de archivos
  • Soporte de FILESTREAM
  • Planes de mantenimiento
  • Recopilador de datos de rendimiento
  • Administración basada en políticas
  • PolyBase
  • Servicios de aprendizaje automático y de R (se requiere acceso a un SO para instalarlo)
  • Controlador de recursos
  • Auditoría de SQL Server
  • Disparadores a nivel de servidor
  • Extremos de Service Broker
  • Extremos de T-SQL (todas las operaciones que usan CREATE ENDPOINT no están disponibles)
  • Servicios de datos de WCF
  • CDC: Captura los datos modificados
  • La función sysadmin y los procedimientos almacenados en el sistema que la requieran

Otras operaciones no disponibles para Cloud SQL

  • ADMINISTRACIÓN DE OPERACIONES MASIVAS
  • ALTERA DE CUALQUIER CREDENCIAL
  • ALTERA DE CUALQUIER NOTIFICACIÓN DE EVENTO
  • ALTERA DE CUALQUIER SESIÓN DE EVENTO
  • ALTERA DE AUDITORÍA DE CUALQUIER SERVIDOR
  • ALTERA DE RECURSOS
  • ALTERA DE CONFIGURACIÓN
  • AUTENTICACIÓN DE SERVIDOR
  • CONTROL_SERVER
  • CREACIÓN DE UNA NOTIFICACIÓN DE EVENTOS DE DDL
  • CREACIÓN DE UN EXTREMO
  • CREACIÓN DE UNA NOTIFICACIÓN DE EVENTOS DE RASTREO
  • CONJUNTO DE ACCESO EXTERNO
  • RESTABLECIMIENTO
  • APAGADO
  • ENSAMBLAJES CLR

Sintaxis admitida

Cloud SQL para SQL Server admite la sintaxis Transact-SQL.

Lenguajes admitidos

Puedes usar Cloud SQL para SQL Server con las aplicaciones de App Engine que se ejecutan en el entorno flexible y que están escritas en Java, Python, PHP, Node.js, Go y Ruby.

Cómo conectarte a instancias de Cloud SQL para SQL Server

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

No se admite la conexión a Cloud SQL mediante el Acceso privado a Google.