Migration d'un système de base de données MySQL HeatWave vers une instance MySQL
Vous pouvez migrer les données stockées dans un système de base de données MySQL HeatWave vers une instance MySQL qui s'exécute sur place ou dans d'autres fournisseurs en nuage en tant que services gérés ou non gérés. Vous pouvez également exporter les tables de base de données dans des données texte à utiliser dans d'autres bases de données ou applications.
L'interpréteur de commandes MySQL est un client avancé et un éditeur de code pour MySQL. Il fournit des fonctionnalités SQL ainsi que des fonctionnalités de script pour JavaScript et Python, et comprend diverses API et utilitaires pour l'utilisation des bases de données MySQL. L'interpréteur de commandes MySQL comporte des utilitaires de vidage et de chargement pour exporter et importer des données stockées dans des instances MySQL. La version de l'interpréteur de commandes MySQL doit être égale ou supérieure à la version de l'instance MySQL. Il est recommandé d'installer et d'utiliser la dernière version de l'interpréteur de commandes MySQL.
Exportation d'un système de base de données MySQL HeatWave
util.dumpInstance(outputUrl[, options]): Utilitaire d'exportation d'instance MySQL qui exporte tous les schémas compatibles vers un seau du service de stockage d'objets ou vers des fichiers locaux. Par défaut, cet utilitaire exporte les utilisateurs, les événements, les sous-programmes et les déclencheurs.util.dumpSchemas(schemas, outputUrl[, options]): Utilitaire d'exportation de schéma MySQL qui exporte les schémas sélectionnés vers un seau de stockage d'objets ou vers des fichiers locaux.util.dumpTables(schema, tables, outputUrl[, options]): Utilitaire d'exportation de table MySQL qui exporte les tables sélectionnées d'un schéma vers un seau de stockage d'objets ou vers des fichiers locaux.
- Système de fichiers local sur l'ordinateur client exécutant l'interpréteur de commandes MySQL
- Service de stockage d'objets pour Oracle Cloud Infrastructure
- Seau compatible avec S3 pour Amazon Web Services (AWS)
- Microsoft Azure Blob Storage
Vous pouvez installer l'interpréteur de commandes MySQL dans une instance de calcul Oracle Cloud Infrastructure ou sur une autre machine client qui peut se connecter au système de base de données MySQL HeatWave contenant les données à exporter. Exécutez ensuite l'interpréteur de commandes MySQL pour vous connecter au système de base de données avec un compte d'utilisateur disposant de privilèges suffisants pour accéder aux données à exporter. Une fois connecté au système de base de données, vous pouvez exécuter les utilitaires de vidage pour exporter les données.
- Exportez tous les schémas d'un système de base de données MySQL HeatWave et stockez les fichiers de vidage dans un répertoire de système de fichiers nommé
export-instance:shell-js> util.dumpInstance("export-instance", {ocimds: true})Lorsque l'optionocimdsest réglée àtruedans un vidage d'instance, tous les objets de base de données et comptes d'utilisateur propres à MySQL HeatWave sont exclus de l'exportation. Il exporte tous les schémas, tables, utilisateurs, événements, sous-programmes et déclencheurs créés par l'utilisateur dans le système de base de données MySQL HeatWave, notamment :- Tous les schémas créés par l'utilisateur, ainsi que tous les objets de base de données et toutes les données des schémas.
- Tous les comptes utilisateur de base de données créés par l'utilisateur ainsi que les privilèges qui lui sont accordés.
- Exportez le schéma
worldet stockez les fichiers de vidage dans un répertoire de système de fichiers nomméexport-schemas-world:shell-js> util.dumpSchemas(["world"], "export-schemas-world")Cet exemple exporte tous les objets et données de base de données dans le schéma
world. Les comptes d'utilisateur de base de données ne sont pas exportés. - Exportez les tables
cityetcountrydans le schémaworldet stockez les fichiers de vidage dans un répertoire du système de fichiers nomméexport-tables-city-country:shell-js> util.dumpTables("world", ["city", "country"],"export-tables-city-country")Cet exemple exporte toutes les données des tables
cityetcountrydu schémaworld. Les autres objets de base de données du schémaworld, tels que les routines et les événements stockés, ne sont pas exportés. Les comptes d'utilisateur de base de données ne sont pas non plus exportés. - Exportez les tables
cityetcountrydans le schémaworldet stockez les fichiers de vidage contenant les fichiers textecsvdans un répertoire du système de fichiers nomméexport-csv-city-country:shell-js> util.dumpTables("world", ["city", "country"],"export-csv-city-country", {dialect: "csv", compression: "none"})Cet exemple exporte toutes les données des tables
cityetcountrydu schémaworlddans des fichiers texte CSV non compressés. Ces fichiers texte peuvent être chargés dans d'autres bases de données ou applications, si nécessaire. - Exportez l'instance MySQL et stockez les fichiers de vidage dans un seau Oracle Cloud Infrastructure spécifié PAR une demande préauthentifiée :
Le seau doit d'abord être vide.shell-js> util.dumpInstance("https://objectstorage.region.oraclecloud.com/p/secret/n/myTenancy/b/myBucket/o/", {ocimds: true}) - Exportez l'instance MySQL et stockez les fichiers de vidage dans un seau Oracle Cloud Infrastructure avec un préfixe spécifié PAR une demande préauthentifiée :
Le seau ne doit pas avoir d'objet avec le même préfixe.shell-js> util.dumpInstance("https://objectstorage.region.oraclecloud.com/p/secret/n/myTenancy/b/myBucket/o/MyPrefix/", {ocimds: true})
Pour obtenir des informations de référence sur toutes les options disponibles, voir Utilitaires de vidage de l'interpréteur de commandes MySQL.
Importation dans une instance MySQL
util.loadDump(url[, options])Exécutez l'interpréteur de commandes MySQL sur un ordinateur client et connectez-vous à l'instance MySQL avec un compte d'utilisateur disposant des privilèges requis pour importer les données. Une fois connecté à l'instance MySQL, vous pouvez exécuter l'utilitaire de chargement de vidage de l'interpréteur de commandes MySQL pour importer les données.
- Cet exemple importe tous les objets et données de base de données à partir des fichiers de vidage du répertoire du système de fichiers nommé
export-instance:shell-js> util.loadDump("export-instance") - Cet exemple importe tous les objets et données de base de données à partir d'un seau Oracle Cloud Infrastructure spécifié PAR une demande préauthentifiée :
Lors de l'importation à partir d'un seau Oracle Cloud Infrastructure à l'aide d'une demande préauthentifiée, un fichier de progression local est requis pour suivre l'état de l'importation.shell-js> util.loadDump("https://objectstorage.region.oraclecloud.com/p/secret/n/myTenancy/b/myBucket/o/", progressFile: "progress.json"}) - Cet exemple importe tous les objets et données de base de données à partir d'un seau Oracle Cloud Infrastructure avec un préfixe spécifié PAR une demande préauthentifiée :
Lors de l'importation à partir d'un seau Oracle Cloud Infrastructure à l'aide d'une demande préauthentifiée, un fichier de progression local est requis pour suivre l'état de l'importation.shell-js> util.loadDump("https://objectstorage.region.oraclecloud.com/p/secret/n/myTenancy/b/myBucket/o/MyPrefix/", progressFile: "progress.json"})
Pour obtenir des informations de référence sur toutes les options disponibles, voir Utilitaires de chargement de vidage de l'interpréteur de commandes MySQL.