Fonctionnalités de Cloud SQL

Cette page décrit les principales fonctionnalités de Cloud SQL.

Fonctionnalités MySQL par édition Cloud SQL

Pour en savoir plus sur les fonctionnalités de l'édition Cloud SQL Enterprise Plus et de l'édition Cloud SQL Enterprise de Cloud SQL pour MySQL, consultez la page Présentation des éditions Cloud SQL.

Fonctionnalités MySQL générales compatibles avec Cloud SQL

  • Base de données MySQL Community Edition entièrement gérée dans le cloud.
  • Instances disponibles en Amérique, dans l'Union européenne, en Asie et en Australie. Consultez tous les emplacements dans lesquels vous pouvez créer des instances Cloud SQL.
  • Compatibilité avec la migration depuis des bases de données sources vers les bases de données de destination Cloud SQL à l'aide de Database Migration Service (DMS).
  • Données client chiffrées sur les réseaux internes de Google, ainsi que dans les tables de bases de données, les fichiers temporaires et les sauvegardes.
  • Compatibilité avec des connexions externes sécurisées, via le proxy d'authentification Cloud SQL ou le protocole SSL/TLS.
  • Compatibilité avec l'adresse IP privée (accès aux services privés)
  • Réplication de données entre plusieurs zones* avec basculement automatique.
  • Importation et exportation de bases de données à l'aide de mysqldump, ou importation et exportation de fichiers CSV.
  • Compatibilité avec le protocole de communication MySQL et les connecteurs MySQL standards.
  • Sauvegardes automatisées et à la demande, et récupération à un moment précis.
  • Clonage d'instance.
  • Intégration à la journalisation et à la surveillance de Google Cloud Observability
  • Conformité avec la norme ISO/IEC 27001.

* Les régions Mexico, Montréal et Osaka comportent trois zones dans un ou deux centres de données physiques. Ces régions sont en cours d'extension à au moins trois centres de données physiques. Pour en savoir plus, consultez les pages Zones Cloud et Contrats de niveau de service Google Cloud Platform. Pour améliorer la fiabilité de vos charges de travail, envisagez un déploiement multirégional.

Langages d'application compatibles avec Cloud SQL pour MySQL

Vous pouvez utiliser Cloud SQL avec des applications App Engine s'exécutant dans l'environnement flexible et écrites dans les langages suivants :

  • C#
  • Go
  • Java
  • Node.js
  • PHP
  • Python
  • Ruby

Vous pouvez également utiliser Cloud SQL avec des applications externes qui utilisent le protocole MySQL standard.

Comment se connecter à Cloud SQL pour les instances MySQL

Vous pouvez vous connecter à une instance Cloud SQL depuis les éléments suivants :

La connexion à Cloud SQL depuis l'accès privé à Google n'est pas possible. En revanche, l'accès privé aux services est accepté. Pour en savoir plus, consultez la section Options d'accès privé pour les services.

Gestion des utilisateurs dans Cloud SQL pour MySQL 8.0

En raison de modifications apportées dans MySQL 8.0, vous ne pouvez pas utiliser les instructions CREATE ou DELETE pour la gestion des utilisateurs MySQL. Vous ne pouvez pas non plus modifier les privilèges utilisateur à l'aide des instructions INSERT, UPDATE ou DELETE. Utilisez plutôt les instructions CREATE USER, DROP USER, GRANT et REVOKE pour modifier les privilèges utilisateur. Pour en savoir plus, consultez la section Remarques concernant la gestion des comptes.

Remarque : Ne tenez pas compte des informations figurant dans cette section concernant l'exécution de mysql_upgrade pour passer à la version 8.0. Effectuez plutôt la mise à niveau à l'aide de la procédure décrite sur la page Mettre à niveau MySQL sur une instance.

Différences entre MySQL standard et Cloud SQL pour MySQL

En général, les fonctionnalités MySQL fournies par une instance Cloud SQL sont identiques à celles fournies par une instance MySQL hébergée localement. Cependant, il existe quelques différences entre une instance MySQL standard et une instance Cloud SQL.

Fonctionnalités MySQL non compatibles avec Cloud SQL

La fonctionnalité suivante n'est pas compatible avec Cloud SQL pour MySQL 5.6 et 5.7 :

  • Privilège SUPER

Les fonctionnalités suivantes ne sont pas compatibles avec Cloud SQL pour MySQL 8.0 :

La fonctionnalité suivante n'est pas compatible avec Cloud SQL pour MySQL 8.4 :

De plus, Cloud SQL pour MySQL n'accorde pas les privilèges suivants introduits dans MySQL 8.4 :

Plug-ins MySQL non compatibles avec Cloud SQL

Instructions MySQL non compatibles avec Cloud SQL

Les instructions SQL suivantes génèrent une erreur avec le message 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 ...

Les instructions suivantes ne sont pas compatibles, car les instances MySQL utilisent la réplication GTID :

  • Instructions CREATE TABLE ... SELECT
  • Transactions ou instructions mettant à jour les tables transactionnelles et non transactionnelles

L'instruction MySQL suivante n'est pas compatible avec Cloud SQL pour MySQL 5.6 et 5.7, mais elle est compatible avec Cloud SQL pour MySQL 8.0 :

  • Instructions CREATE TEMPORARY TABLE à l'intérieur des transactions

Pour en savoir plus, consultez la documentation MySQL.

Fonctions MySQL non compatibles avec Cloud SQL

  • LOAD_FILE()

Fonctionnalités du programme client MySQL non compatibles avec Cloud SQL

  • mysqldump avec l'option --tab ou les options utilisées avec --tab. Cela est dû au fait que le privilège FILE n'est pas accordé aux utilisateurs d'instance. Toutes les autres options de mysqldump sont compatibles. Pour en savoir plus sur l'utilisation des options mysqldump permettant d'optimiser votre fichier pour l'importation dans Cloud SQL, consultez la section Effectuer une exportation depuis votre serveur MySQL local à l'aide de mysqldump.

  • mysqlimport sans l'option --local. Cela est dû à la restriction LOAD DATA INFILE. Pour importer des données dans votre instance Cloud SQL, consultez la page Importer à l'aide d'un fichier de dump ou Importer à l'aide d'un fichier CSV.

  • Si vous souhaitez importer des bases de données contenant des données binaires dans votre instance Cloud SQL, vous devez utiliser l'option --hex-blob avec mysqldump.

    Bien que l'option hex-blob ne soit pas obligatoire lors de l'utilisation d'une instance de serveur MySQL locale et du client mysql, vous devez l'utiliser si vous souhaitez importer des bases de données contenant des données binaires dans votre instance Cloud SQL. Pour importer des données dans votre instance Cloud SQL, consultez la page Importer à l'aide d'un fichier de dump ou Importer à l'aide d'un fichier CSV.

  • Un certain nombre d'options et de paramètres MySQL ne sont pas activés pour modification en tant qu'options Cloud SQL.

    Pour demander l'ajout d'une option Cloud SQL configurable, rejoignez le groupe de discussion Cloud SQL.

  • InnoDB est le seul moteur de stockage compatible. Pour obtenir de l'aide sur la conversion de tables depuis MyISAM vers InnoDB, consultez la page Convertir une table en InnoDB dans la documentation MySQL.

Préréglage des options MySQL pour Cloud SQL

Cloud SQL exécute MySQL avec un ensemble d’options spécifiques. Si une option présente un risque pour le fonctionnement de vos applications, nous le notons ici pour votre information.

skip-name-resolve

Cet indicateur affecte la façon dont les noms d'hôte sont résolus pour les connexions client. Consultez la section skip-name-resolve dans la documentation MySQL.

log_bin

Cette option indique si la journalisation binaire est activée. Si vous utilisez l'option --log-bin, la valeur de cette variable est ON. Sinon, elle est définie sur OFF. Consultez la section log_bin dans la documentation MySQL.

Authentification MySQL

Cette section décrit les modifications apportées à l'authentification intégrée MySQL.

Plug-in d'authentification MySQL 8.0 par défaut

Cloud SQL pour MySQL 8.0 utilise mysql_native_password comme plug-in d'authentification par défaut pour les nouveaux utilisateurs au lieu de caching_sha2_password. Le plug-in mysql_native_password est utilisé par défaut pour les utilisateurs MySQL 5.6 et 5.7.

Si vous souhaitez que les nouveaux utilisateurs se servent de caching_sha2_password comme plug-in d'authentification par défaut, vous pouvez configurer votre option d'instance pour que default_authentication_plugin utilise caching_sha2_password.

Pour configurer les utilisateurs existants afin qu'ils se servent de caching_sha2_password, exécutez la commande ALTER USER pour modifier le plug-in d'authentification.

Les utilisateurs disposant de l'authentification caching_sha2_password peuvent avoir besoin d'utiliser l'option get-server-public-key lors de la connexion. Pour en savoir plus, consultez la section Caching SHA-2 Pluggable Authentication (Mettre en cache l'authentification enfichable SHA-2) dans la documentation MySQL.

Plug-in d'authentification MySQL 8.4 par défaut

À partir de Cloud SQL pour MySQL 8.4, le plug-in caching_sha2_password est le plug-in d'authentification par défaut. Tous les utilisateurs internes et les nouveaux comptes utilisateur que vous créez utilisent le plug-in caching_sha2_password pour l'authentification. Cloud SQL pour MySQL 8.4 continue de prendre en charge les comptes utilisateur Cloud SQL existants qui utilisent le plug-in mysql_native_password. Ces comptes existants peuvent continuer à se connecter aux instances Cloud SQL pour MySQL après la mise à niveau vers MySQL 8.4.

Dans Cloud SQL pour MySQL 8.4, le plug-in d'authentification mysql_native_password est obsolète. Toute tentative de création d'un compte utilisateur avec le plug-in d'authentification mysql_native_password obsolète entraîne une erreur. Vous ne pouvez pas définir le authentication_policy d'un compte dans Cloud SQL pour MySQL 8.4 pour utiliser mysql_native_password.

Pour modifier vos comptes utilisateur de base de données existants afin qu'ils utilisent le plug-in d'authentification caching_sha2_password, utilisez la commande suivante:

ALTER USER 'username'@'%'
IDENTIFIED WITH caching_sha2_password BY 'user_password';

Remplacez username et user_password par les valeurs du compte utilisateur que vous mettez à jour.

Pour en savoir plus sur les implications de ce changement sur la compatibilité entre les serveurs, les clients et les connecteurs, consultez caching_sha2_password as the Preferred Authentication Plugin.

Modifications apportées aux options système MySQL dans Cloud SQL

Pour certaines options système MySQL, Cloud SQL utilise des valeurs différentes des valeurs par défaut. Vous ne pouvez pas modifier les valeurs de ces options. Pour obtenir la liste des options concernées, consultez la page Options système modifiées dans Cloud SQL.

Fonctionnalités Cloud SQL non compatibles avec Cloud SQL pour MySQL 8.0 et versions ultérieures

Cloud SQL pour MySQL 8.0 et les versions ultérieures ne sont pas compatibles avec l'ancienne configuration de haute disponibilité (HA) de Cloud SQL pour MySQL, qui utilise des instances répliquées de basculement. Cloud SQL pour MySQL 8.0 et les versions ultérieures ne sont compatibles qu'avec la configuration de haute disponibilité régionale.

Fonctionnalités PostgreSQL par édition Cloud SQL

Pour en savoir plus sur les fonctionnalités de chaque édition Cloud SQL pour PostgreSQL, consultez la page Présentation des éditions Cloud SQL.

Compatibilité des fonctionnalités PostgreSQL avec Cloud SQL

  • Bases de données PostgreSQL entièrement gérées dans le cloud.
  • Instances disponibles en Amérique, dans l'Union européenne, en Asie et en Australie. Consultez tous les emplacements dans lesquels vous pouvez créer des instances Cloud SQL.
  • Compatibilité avec la migration depuis des bases de données sources vers les bases de données de destination Cloud SQL à l'aide de Database Migration Service (DMS).
  • Données client chiffrées sur les réseaux internes de Google, ainsi que dans les tables de bases de données, les fichiers temporaires et les sauvegardes.
  • Compatibilité avec des connexions externes sécurisées, via le proxy d'authentification Cloud SQL ou le protocole SSL/TLS.
  • Réplication de données entre plusieurs zones* avec basculement automatique.
  • Importation et exportation de bases de données à l'aide de fichiers de vidage SQL.
  • Compatibilité avec le protocole client-serveur PostgreSQL et les connecteurs PostgreSQL standards.
  • Sauvegardes automatisées et à la demande, et récupération à un moment précis.
  • Clonage d'instance.
  • Intégration à la journalisation et à la surveillance de Google Cloud Observability
  • Compatibilité avec plusieurs versions de PostgreSQL.
  • Réplication logique

* Les régions Mexico, Montréal et Osaka comportent trois zones dans un ou deux centres de données physiques. Ces régions sont en cours d'extension à au moins trois centres de données physiques. Pour en savoir plus, consultez les pages Zones Cloud et Contrats de niveau de service Google Cloud Platform. Pour améliorer la fiabilité de vos charges de travail, envisagez un déploiement multirégional.

Extensions PostgreSQL compatibles avec Cloud SQL

Cloud SQL est compatible avec de nombreuses extensions PostgreSQL. Pour obtenir la liste complète de ces extensions, consultez la page Configurer des extensions PostgreSQL.

Langages procéduraux PostgreSQL compatibles avec Cloud SQL

Cloud SQL est compatible avec le langage procédural SQL PL/pgSQL.

Langages compatibles avec Cloud SQL pour PostgreSQL

Vous pouvez utiliser Cloud SQL avec des applications App Engine s'exécutant dans l'environnement flexible et écrites dans les langages suivants :

  • C#
  • Go
  • Java
  • Node.js
  • PHP
  • Python
  • Ruby

Cloud SQL fonctionne également avec les applications externes utilisant le protocole client-serveur PostgreSQL standard.

Comment se connecter à Cloud SQL pour les instances MySQL

Vous pouvez vous connecter à une instance Cloud SQL depuis :

La connexion à Cloud SQL depuis l'accès privé à Google n'est pas possible.

Différences entre PostgreSQL standard et Cloud SQL pour PostgreSQL

En général, les fonctionnalités PostgreSQL fournies par une instance Cloud SQL sont identiques à celles fournies par une instance PostgreSQL hébergée localement. Cependant, il existe quelques différences entre une instance PostgreSQL standard et une instance Cloud SQL.

Fonctionnalités non compatibles avec Cloud SQL pour PostgreSQL

  • Toute fonctionnalité qui nécessite des privilèges SUPERUSER, avec les exceptions suivantes :

  • La méthode de diffusion WITHOUT FUNCTION.

  • Nœuds de calcul personnalisés en arrière-plan

  • Le client psql dans Cloud Shell n'est pas compatible avec les opérations nécessitant une reconnexion, comme la connexion à une autre base de données à l'aide de la commande \c.

  • Compilation "just-in-time" (JIT) de la machine virtuelle de bas niveau (LLVM).

Différences notables entre PostgreSQL et Cloud SQL pour PostgreSQL

Compatibilité des fonctionnalités SQL Server avec Cloud SQL

  • Bases de données SQL Server entièrement gérées dans le cloud.
  • Types de machines personnalisés avec jusqu'à 624 Go de RAM et 96 processeurs.
  • Jusqu'à 64 To d'espace de stockage disponible, avec la possibilité d'augmenter automatiquement la taille de l'espace de stockage en fonction des besoins.
  • Créez et gérez des instances dans Google Cloud Console.
  • Instances disponibles sur le continent américain, dans l'Union européenne, en Asie ou en Australie. Consultez tous les emplacements dans lesquels vous pouvez créer des instances Cloud SQL.
  • Données client chiffrées sur les réseaux internes de Google, ainsi que dans les tables de bases de données, les fichiers temporaires et les sauvegardes.
  • Chiffrement au niveau des colonnes et des cellules pour les bases de données utilisateur.
  • Compatibilité avec des connexions externes sécurisées, via le proxy d'authentification Cloud SQL ou le protocole SSL/TLS.
  • Importation de bases de données à l'aide de fichiers BAK et SQL.
  • Exportation de bases de données à l'aide de fichiers BAK.
  • Sauvegardes automatisées et à la demande, et récupération à un moment précis.
  • Clonage d'instance.
  • Intégration à Stackdriver Logging et Monitoring.
  • Agent SQL Server activé pour faciliter la réplication et d'autres tâches.
  • Réplication des données entre plusieurs régions*
  • Définition d'un classement par défaut pour les bases de données lors de la création d'une instance.
  • Haute disponibilité via un disque persistant régional.
  • Intégration avec le service géré pour Microsoft Active Directory, y compris l'authentification Windows.
  • Capture de données modifiées (CDC)
  • Traitement des requêtes intelligent.
  • Récupération de la base de données accélérée.
  • Classification de données améliorée.
  • Compatibilité de l'encodage de caractères UTF-8.
  • Surveillance améliorée.
  • Masquage dynamique des données.
  • Serveurs associés.
  • Audit SQL Server.
  • Éditeur SQL Server.
  • Abonné SQL Server.
  • SQL Server Integration Services (SSIS) qui s'exécute sur un hôte distinct et se connecte à Cloud SQL.
  • SQL Server Reporting Services (SSRS) qui s'exécute sur un hôte distinct et se connecte à Cloud SQL.
  • L'utilitaire de copie en bloc bulk copy program (bcp). Pour en savoir plus sur le téléchargement et l'installation de l'utilitaire bcp, consultez la documentation Microsoft.
  • Importations et exportations de fichiers BACPAC à l'aide de SqlPackage. Pour en savoir plus sur le téléchargement et l'installation de SqlPackage, consultez la documentation Microsoft.
  • Insertion groupée pour importer des données. Cette fonctionnalité n'est compatible qu'avec SQL Server 2022. Vous pouvez effectuer une insertion groupée à l'aide d'une procédure stockée. Pour en savoir plus, consultez la section Importer des données à l'aide de l'insertion groupée.
  • Toujours chiffré sans enclaves sécurisées.
  • Événements étendus (XEvents).
  • Prise en charge des fuseaux horaires personnalisés lors de la création d'une instance et après sa création.

* Les régions Mexico, Montréal et Osaka comportent trois zones dans un ou deux centres de données physiques. Ces régions sont en cours d'extension à au moins trois centres de données physiques. Pour en savoir plus, consultez les pages Zones Cloud et Contrats de niveau de service Google Cloud Platform. Pour améliorer la fiabilité de vos charges de travail, envisagez un déploiement multirégional.

Fonctionnalités SQL Server non disponibles pour Cloud SQL

Les fonctionnalités suivantes ne sont pas disponibles dans Cloud SQL et ne sont pas acceptées par Google Cloud :

Fonctionnalités générales SQL Server non disponibles pour Cloud SQL

  • SQL Server Analysis Services (SSAS)
  • Paramètres SP_Configure. Pour en savoir plus sur cette fonctionnalité, consultez la page Configurer des options de base de données.
  • Stretch Database
  • Stockage d'objets blob Microsoft Azure
  • Extension du pool de mémoire tampon
  • Fonctionnalité OPENROWSET
  • Services liés à la qualité des données
  • Envoi de journaux de base de données
  • Messagerie de base de données
  • Distributed Transaction Coordinator (MSDTC)
  • Tables de fichiers
  • Compatibilité de FILESTREAM
  • Plans de maintenance
  • Collecteur de données de performances
  • Gestion basée sur des règles
  • PolyBase
  • Machine learning et R Services
  • Gouverneur de ressources
  • Déclencheurs au niveau du serveur
  • Points de terminaison Service Broker
  • Points de terminaison T-SQL (toutes les opérations utilisant CREATE ENDPOINT sont indisponibles)
  • WCF Data Services
  • Le rôle sysadmin et les procédures stockées dans le système qui en ont besoin
  • Pool de mémoire tampon hybride
  • Métadonnées tempdb à mémoire optimisée
  • Compatibilité de l'OLTP en mémoire pour les instantanés de base de données
  • Enregistrement de langues externes
  • Sécurité au niveau des lignes
  • Chiffrement transparent des données (TDE, Transparent Data Encryption). Pour en savoir plus sur le chiffrement dans Google Cloud, consultez les pages À propos des clés de chiffrement gérées par le client (CMEK) et Chiffrement au repos par défaut.
  • Sauvegarde et restauration de stockage d'objets
  • Base de données en mémoire : mémoire persistante
  • Analyse opérationnelle en temps réel
  • Accélération et déchargement intégrés
  • Pool de mémoire tampon hybride avec écriture directe
  • Réplication multi-écriture
  • Lien vers l'instance Azure SQL gérée
  • Groupe de disponibilité contenu
  • Toujours chiffré avec enclaves sécurisées
  • Authentification Azure Active Directory
  • Compatibilité avec les certificats PFX et autres améliorations cryptographiques
  • MS-TDS 8.0 et TLS 1.3

Autres opérations SQL Server non disponibles pour Cloud SQL

  • ADMINISTER BULK OPERATIONS
  • ALTER ANY CREDENTIAL
  • ALTER ANY EVENT NOTIFICATION
  • ALTER ANY EVENT SESSION
  • ALTER RESOURCES
  • ALTER SETTINGS
  • AUTHENTICATE SERVER
  • CONTROL_SERVER
  • CREATE DDL EVENT NOTIFICATION
  • CREATE ENDPOINT
  • CREATE TRACE EVENT NOTIFICATION
  • EXTERNAL ACCESS ASSEMBLY
  • RESTORE
  • SHUTDOWN
  • CLR ASSEMBLIES

Syntaxes compatibles avec Cloud SQL pour SQL Server

Cloud SQL est compatible avec la syntaxe Transact-SQL.

Langages compatibles avec Cloud SQL pour SQL Server

Vous pouvez utiliser Cloud SQL avec des applications App Engine s'exécutant dans l'environnement flexible et écrites dans les langages suivants :

  • C#
  • Go
  • Java
  • Node.js
  • PHP
  • Python
  • Ruby

Comment se connecter à des instances Cloud SQL pour SQL Server

Vous pouvez vous connecter à une instance Cloud SQL depuis :

La connexion à Cloud SQL depuis l'accès privé à Google n'est pas possible.