Cloud SQL pour MySQL
Fonctionnalités
- Base de données MySQL Community Edition entièrement gérée dans le cloud.
- Les instances Cloud SQL sont compatibles avec MySQL 8.0, 5.7 (version par défaut) et 5.6, et fournissent jusqu'à 416 Go de RAM et 30 To de stockage de données, 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 en Asie, en Australie, aux États-Unis et dans l'Union européenne.
- Données client chiffrées sur les réseaux internes de Google, dans les tables de base de données, les fichiers temporaires et les sauvegardes.
- Compatibilité avec des connexions externes sécurisées, via proxy Cloud SQL ou 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 la suite des opérations Google Cloud.
- Conformité avec la norme ISO/IEC 27001.
Langages acceptés
Vous pouvez utiliser Cloud SQL pour MySQL avec des applications App Engine écrites en Java, Python, PHP, Node.js, Go et Ruby. Cloud SQL pour MySQL fonctionne également avec les applications externes utilisant le protocole MySQL standard.
Comment se connecter à Cloud SQL pour les instances MySQL
Vous pouvez vous connecter à une instance Cloud SQL pour MySQL depuis :
- Un client
mysql
. En savoir plus - Des outils tiers tels que SQL Workbench ou Toad for MySQL. En savoir plus
- Des applications externes. En savoir plus
- Des applications App Engine. En savoir plus
- Des applications s'exécutant sur Compute Engine. En savoir plus
- Des applications s'exécutant sur Google Kubernetes Engine. En savoir plus
- Cloud Functions. En savoir plus
- Cloud Run. En savoir plus
- Des scripts Google Apps Script. En savoir plus
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 MySQL pour Cloud SQL 8.0
En raison de modifications apportées dans MySQL 8.0, vous ne pouvez pas utiliser CREATE
ni 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
, DROP USER
, GRANT
et REVOKE
pour modifier les privilèges utilisateur. Pour en savoir plus, consultez la section Account management notes (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 les fonctionnalités Cloud SQL et les fonctionnalités MySQL standards
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 pour MySQL.
Fonctionnalités MySQL non compatibles
La fonctionnalité suivante n'est pas compatible avec MySQL pour Cloud SQL 5.6 et 5.7 :
Les fonctionnalités suivantes ne sont pas compatibles avec MySQL pour Cloud SQL 8.0 :
Plug-ins non compatibles
- Plug-in InnoDB memcached
- Plug-in X
- Plug-in Clone
- Chiffrement des données au repos dans InnoDB
- Composant validate_password
Instructions non compatibles
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" (Erreur 1290 : Le serveur MySQL s'exécute avec l'option Google et ne peut donc pas exécuter cette instruction) :
LOAD DATA INFILE
Notez que
LOAD DATA LOCAL
INFILE
est compatible.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 suivante n'est pas compatible avec MySQL pour Cloud SQL 5.6 et 5.7, mais elle est compatible avec MySQL pour Cloud SQL 8.0.
- Instructions
CREATE TEMPORARY TABLE
à l'intérieur des transactions
Pour en savoir plus, consultez la documentation MySQL.
Fonctions non compatibles
LOAD_FILE()
Fonctionnalités du programme client non compatibles
mysqlimport
sans l'option--local
. Cela est dû à la restrictionLOAD DATA INFILE
. Si vous devez charger des données à distance, utilisez la fonction d'importation de 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 demysqldump
sont compatibles.Si vous souhaitez importer des bases de données contenant des données binaires dans votre instance Cloud SQL pour MySQL, vous devez utiliser l'option
--hex-blob
avecmysqldump
.Bien que l'option
hex-blob
ne soit pas obligatoire lors de l'utilisation d'une instance de serveur MySQL locale et du clientmysql
, vous devez l'utiliser si vous souhaitez importer des bases de données contenant des données binaires dans votre instance Cloud SQL. Pour en savoir plus sur l'importation de données, consultez la page Importer des données.Un certain nombre d'options et de paramètres MySQL ne sont pas activés en tant qu'indicateurs Cloud SQL.
Pour demander l'ajout d'un indicateur 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 MyISAM vers InnoDB, consultez la documentation MySQL.
Préréglage des options MySQL sur 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. En savoir plus
log_bin
Cette option indique si la journalisation binaire est activée. Si vous utilisez l'option --log-bin option
, la valeur de cette variable est ON
. Sinon, elle est définie sur OFF
.
En savoir plus
Authentification MySQL 8.0
MySQL 8.0 pour Cloud SQL 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 Using SHA-2 Pluggable Authentication (Utiliser l'authentification enfichable SHA-2) dans la documentation MySQL.
Fonctionnalité Cloud SQL non compatible dans MySQL 8.0 pour Cloud SQL
MySQL 8.0 pour Cloud SQL n'est pas compatible avec l'ancienne version de la configuration de la haute disponibilité MySQL qui utilise des instances dupliquées de basculement. Il est compatible avec la nouvelle configuration de la haute disponibilité régionale.
Cloud SQL pour PostgreSQL
Fonctionnalités
- Bases de données PostgreSQL entièrement gérées dans le cloud.
- Types de machines personnalisés avec jusqu'à 624 Go de RAM et 96 processeurs.
- Jusqu'à 30 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 en Asie, en Australie, aux États-Unis et dans l'Union européenne.
- Données client chiffrées sur les réseaux internes de Google, dans les tables de base de données, les fichiers temporaires et les sauvegardes.
- Compatibilité avec des connexions externes sécurisées, via proxy Cloud SQL ou 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.
- Clonage d'instance.
- Intégration à la journalisation et la surveillance de la suite des opérations Google Cloud.
- Compatibilité avec plusieurs versions de PostgreSQL.
Fonctionnalités pas encore disponibles
Les fonctionnalités suivantes de Postgre 12 et 13 ne sont pas encore disponibles pour Cloud SQL :
- Compilation "just-in-time" (JIT) de la machine virtuelle de bas niveau (LLVM)
- Réplication logique
Extensions acceptées
Cloud SQL pour PostgreSQL est compatible avec de nombreuses extensions PostgreSQL. Pour en obtenir la liste complète, reportez-vous à la page Extensions PostgreSQL.
Langages procéduraux acceptés
Cloud SQL pour PostgreSQL est compatible avec le langage procédural SQL PL/pgSQL
.
Langages acceptés
Vous pouvez utiliser Cloud SQL pour MySQL avec des applications App Engine écrites en Java, Python, PHP, Node.js, Go et Ruby. Cloud SQL pour PostgreSQL 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 pour PostgreSQL depuis :
- Un client
psql
. En savoir plus - Des outils tiers utilisant le protocole client-serveur PostgreSQL standard
- Des applications externes. En savoir plus
- Des applications App Engine. En savoir plus
- Des applications s'exécutant sur Compute Engine. En savoir plus
- Des applications s'exécutant sur Google Kubernetes Engine. En savoir plus
- Cloud Functions. En savoir plus
- Cloud Run. En savoir plus
La connexion à Cloud SQL depuis l'Accès privé à Google n'est pas possible.
Différences entre les fonctionnalités Cloud SQL et les fonctionnalités PostgreSQL standards
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 pour PostgreSQL.
Fonctions non compatibles
Toutes les fonctionnalités qui nécessitent des privilèges
SUPERUSER
L'instruction
CREATE EXTENSION
constitue une exception à cette règle, mais uniquement pour les extensions compatibles.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
.
Différences notables
Un certain nombre d'options et de paramètres PostgreSQL ne sont pas activés pour modification en tant qu'options Cloud SQL.
Pour demander l'ajout d'un indicateur Cloud SQL configurable, rejoignez le groupe de discussion Cloud SQL.
Cloud SQL pour SQL Server
Fonctionnalités
- 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'à 30 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 aux États-Unis, dans l'Union européenne, en Asie ou en Australie.
- Données client chiffrées sur les réseaux internes de Google, dans les tables de bases de données, les fichiers temporaires et les sauvegardes.
- Compatibilité avec des connexions externes sécurisées, via proxy Cloud SQL ou 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.
- Clonage d'instance.
- Intégration à Stackdriver Logging et Monitoring.
- Agent SQL Server activé pour faciliter la réplication et d'autres tâches.
- 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.
Fonctionnalités SQL Server non disponibles pour Cloud SQL
Fonctionnalités générales non disponibles pour Cloud SQL
- SQL Server Reporting Services (SSRS)
- SQL Server Analysis Services (SSAS), mais vous pouvez utiliser Compute Engine ou un environnement autogéré (à partir duquel vous vous connectez à Cloud SQL)
- SQL Server Integration Services (SSIS), mais vous pouvez utiliser Compute Engine ou un environnement autogéré (à partir duquel vous vous connectez à Cloud SQL)
- Authentification AD
- Paramètres SP_Configure (consultez toutefois 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és BULK INSERT et OPENROWSET(BULK...)
- 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 (l'installation nécessite un accès au système d'exploitation)
- Gouverneur de ressources
- Audit SQL Server
- 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
- Capture de données modifiées (CDC)
- Le rôle
sysadmin
et les procédures stockées dans le système qui en ont besoin - Serveurs associés
Autres opérations non disponibles pour Cloud SQL
- ADMINISTER BULK OPERATIONS
- ALTER ANY CREDENTIAL
- ALTER ANY EVENT NOTIFICATION
- ALTER ANY EVENT SESSION
- ALTER ANY SERVER AUDIT
- 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
Syntaxe applicable
Cloud SQL pour SQL Server accepte la syntaxe Transact-SQL.
Langages acceptés
Vous pouvez utiliser Cloud SQL pour SQL Server avec des applications App Engine s'exécutant dans l'environnement flexible et écrites en Java, Python, PHP, Node.js, Go et Ruby.
Comment se connecter à des instances Cloud SQL pour SQL Server
Vous pouvez vous connecter à une instance Cloud SQL pour SQL Server depuis :
- SQL Server Management Studio (SSMS).
- Un client. En savoir plus
- L'utilitaire sqlcmd.
La connexion à Cloud SQL depuis l'Accès privé à Google n'est pas possible.