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
Puedes conectarte a una instancia de Cloud SQL para MySQL desde:
- Un cliente
mysql
. Más información. - Herramientas de terceros como SQL Workbench o Toad para MySQL. Más información.
- 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 Functions. Más información.
- Cloud Run. Más información.
- Secuencias de comandos de Google Apps Script. Más información.
No se admite la conexión a Cloud SQL mediante el acceso privado de 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:
Las siguientes características no son compatibles con MySQL para Cloud SQL 8.0:
Complementos no compatibles
- Complemento de InnoDB en Memcached
- Complemento X
- Complemento de clonación
- Encriptación de datos en reposo de InnoDB
- Componente validate_password
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.
- Declaraciones
CREATE TEMPORARY TABLE
en transacciones
Para obtener más información, consulta la documentación de MySQL.
Funciones no compatibles
LOAD_FILE()
Funciones no compatibles del programa cliente
mysqlimport
sin usar la opción--local
. Esto se debe a la restricciónLOAD 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 opcionesmysqldump
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
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 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. 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 procedurales 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:
- Un cliente
psql
. Más información. - Herramientas de terceros que usan el protocolo 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 Functions. Más información.
- Cloud Run. Más información
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
Hay algunas opciones y parámetros de PostgreSQL que no están habilitados para 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.
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 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
- Alta disponibilidad a través del disco persistente regional.
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
- 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 - Servidores vinculados
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:
- SQL Server Management Studio (SSMS).
- Un cliente. Más información.
- El servicio sqlcmd.
No se admite la conexión a Cloud SQL mediante el Acceso privado a Google.