Fonctionnalités de Cloud SQL pour MySQL

Cette page décrit les principales fonctionnalités de Cloud SQL pour MySQL. Cloud SQL est également disponible pour les principales fonctionnalités et capacités de Cloud SQL pour PostgreSQL. Cloud SQL est également disponible pour MySQL et SQL Server.

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 :

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 :

  • Privilège SUPER

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

Plug-ins non compatibles

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 LOCALINFILE 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 restriction LOAD 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 de mysqldump 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 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 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 active la journalisation binaire. Elle est désactivée par défaut dans MySQL pour Cloud SQL, y compris dans MySQL 8.0. En savoir plus. Vous pouvez remplacer cette valeur par défaut en activant la journalisation binaire sur une instance.

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.