Migración de un sistema de base de datos MySQL HeatWave a una instancia MySQL
Puede migrar los datos almacenados en un sistema de base de datos MySQL HeatWave a una instancia MySQL que se ejecute de forma local o en otros proveedores de nube como servicios gestionados o no gestionados. También puede exportar las tablas de base de datos a datos de texto que se utilizarán en otras bases de datos o aplicaciones.
El shell MySQL es un cliente avanzado y un editor de código para MySQL. Proporciona funcionalidad SQL además de capacidades de script para JavaScript y Python, e incluye varias API y utilidades para trabajar con bases de datos MySQL. El shell MySQL tiene utilidades de volcado y carga para exportar e importar datos almacenados en instancias MySQL. La versión del shell MySQL debe ser igual o superior a la versión de la instancia MySQL. Se recomienda instalar y utilizar la versión más reciente del shell MySQL.
Exportación de un sistema de base de datos MySQL HeatWave
util.dumpInstance(outputUrl[, options]): utilidad de exportación de instancias de MySQL que exporte todos los esquemas compatibles a un cubo de Object Storage o a archivos locales. Por defecto, esta utilidad exporta usuarios, eventos, rutinas y disparadores.util.dumpSchemas(schemas, outputUrl[, options]): utilidad para exportar esquemas MySQL que exporta los esquemas seleccionados a un cubo de Object Storage o a archivos locales.util.dumpTables(schema, tables, outputUrl[, options]): utilidad de exportación de tablas MySQL que exporta las tablas seleccionadas de un esquema a un cubo de Object Storage o a archivos locales.
- Sistema de archivos local en la máquina cliente que ejecuta el shell MySQL
- Almacenamiento de objeto de infraestructura de nube de Oracle
- Cubo compatible con S3 de Amazon Web Services (AWS)
- Almacenamiento de Microsoft Azure Blob
Puede instalar MySQL Shell en una instancia informática de Oracle Cloud Infrastructure u otra máquina cliente que pueda conectarse al sistema de base de datos MySQL HeatWave que contenga los datos que desea exportar. A continuación, ejecute el shell MySQL para conectarse al sistema de base de datos con una cuenta de usuario que tenga privilegios suficientes para acceder a los datos que desea exportar. Una vez conectado al sistema de base de datos, puede ejecutar las utilidades de volcado para exportar los datos.
- Exporte todos los esquemas de un sistema de base de datos MySQL HeatWave y almacene los archivos de volcado en un directorio del sistema de archivos denominado
export-instance:shell-js> util.dumpInstance("export-instance", {ocimds: true})Cuando la opciónocimdsse define entrueen un volcado de instancia, todos los objetos de base de datos y las cuentas de usuario específicos de MySQL HeatWave se excluyen de la exportación. Exporta todos los esquemas, tablas, usuarios, eventos, rutinas y disparadores creados por el usuario en el sistema de base de datos MySQL HeatWave, que incluye:- Todos los esquemas creados por el usuario, junto con todos los objetos de base de datos y los datos de los esquemas.
- Todas las cuentas de usuario de base de datos creadas por el usuario junto con sus privilegios otorgados.
- Exporte el esquema
worldy almacene los archivos de volcado en un directorio del sistema de archivos denominadoexport-schemas-world:shell-js> util.dumpSchemas(["world"], "export-schemas-world")Este ejemplo exporta todos los objetos y datos de la base de datos en el esquema
world. Las cuentas de usuario de la base de datos no se exportan. - Exporte las tablas
cityycountryen el esquemaworldy almacene los archivos de volcado en un directorio del sistema de archivos denominadoexport-tables-city-country:shell-js> util.dumpTables("world", ["city", "country"],"export-tables-city-country")En este ejemplo se exportan todos los datos de las tablas
cityycountrydel esquemaworld. Otros objetos de base de datos del esquemaworld, como rutinas y eventos almacenados, no se exportan. Las cuentas de usuario de la base de datos tampoco se exportan. - Exporte las tablas
cityycountryen el esquemaworldy almacene los archivos de volcado que contienen archivos de textocsven un directorio del sistema de archivos denominadoexport-csv-city-country:shell-js> util.dumpTables("world", ["city", "country"],"export-csv-city-country", {dialect: "csv", compression: "none"})Este ejemplo exporta todos los datos de las tablas
cityycountrydel esquemaworlda archivos de texto csv sin comprimir. Estos archivos de texto se pueden cargar en otras bases de datos o aplicaciones, si es necesario. - Exporte la instancia MySQL y almacene los archivos de volcado en un cubo de Oracle Cloud Infrastructure especificado por una solicitud autenticada previamente (SAP):
El cubo debe estar vacío inicialmente.shell-js> util.dumpInstance("https://objectstorage.region.oraclecloud.com/p/secret/n/myTenancy/b/myBucket/o/", {ocimds: true}) - Exporte la instancia MySQL y almacene los archivos de volcado en un cubo de Oracle Cloud Infrastructure con un prefijo especificado por una solicitud autenticada previamente (SAP):
El cubo no debe tener ningún objeto con el mismo prefijo.shell-js> util.dumpInstance("https://objectstorage.region.oraclecloud.com/p/secret/n/myTenancy/b/myBucket/o/MyPrefix/", {ocimds: true})
Para obtener una referencia de todas las opciones disponibles, consulte MySQL Shell Dump Utilities.
Importación a una instancia MySQL
util.loadDump(url[, options])Ejecute el shell MySQL en una máquina cliente y conéctese a la instancia MySQL con una cuenta de usuario que tenga los privilegios necesarios para importar los datos. Una vez conectado a la instancia MySQL, puede ejecutar la utilidad de carga de volcado del shell MySQL para importar los datos.
- En este ejemplo, se importan todos los objetos y datos de la base de datos de los archivos de volcado del directorio del sistema de archivos denominado
export-instance:shell-js> util.loadDump("export-instance") - En este ejemplo se importan todos los objetos y datos de base de datos de un cubo de Oracle Cloud Infrastructure especificado por una solicitud autenticada previamente (PAR):
Al importar desde un bloque de Oracle Cloud Infrastructure mediante una PAR, se necesita un archivo de progreso local para realizar un seguimiento del estado de la importación.shell-js> util.loadDump("https://objectstorage.region.oraclecloud.com/p/secret/n/myTenancy/b/myBucket/o/", progressFile: "progress.json"}) - En este ejemplo se importan todos los objetos y datos de base de datos de un cubo de Oracle Cloud Infrastructure con un prefijo especificado por una solicitud autenticada previamente (SAP):
Al importar desde un bloque de Oracle Cloud Infrastructure mediante una PAR, se necesita un archivo de progreso local para realizar un seguimiento del estado de la importación.shell-js> util.loadDump("https://objectstorage.region.oraclecloud.com/p/secret/n/myTenancy/b/myBucket/o/MyPrefix/", progressFile: "progress.json"})
Para obtener una referencia de todas las opciones disponibles, consulte MySQL Shell Dump Loading Utilities.