Importación de datos de una base de datos de MariaDB o MySQL externa a una instancia de base de datos de RDS para MariaDB o RDS para MySQL
También puede importar datos de una base de datos de MySQL o MariaDB existente a una instancia de base de datos de MySQL o MariaDB. Esto se lleva a cabo copiando la base de datos con mysqldumpmysqldump
suele utilizarse para crear copias de seguridad y transferir datos de un servidor de MySQL o MariaDB a otro. Se incluye con el software cliente de MySQL y MariaDB.
nota
Si importa o exporta grandes cantidades de datos con una instancia de base de datos de MySQL, lo más fiable y rápido para introducir y sacar los datos de Amazon RDS es mediante archivos de copia de seguridad xtrabackup
y Amazon S3. Para obtener más información, consulte Restauración de una copia de seguridad en una instancia de base de datos de Amazon RDS para MySQL.
Un comando mysqldump
típico para mover datos de una base de datos externa a una instancia de base de datos de Amazon RDS tiene este aspecto.
mysqldump -u
local_user
\ --databasesdatabase_name
\ --single-transaction \ --compress \ --order-by-primary \ -plocal_password
| mysql -uRDS_user
\ --port=port_number
\ --host=host_name
\ -pRDS_password
importante
Asegúrese de no dejar un espacio entre la opción -p
y la contraseña especificada.
Especifique credenciales distintas de las que se muestran aquí como práctica recomendada de seguridad.
Asegúrese de conocer las siguientes recomendaciones y consideraciones:
-
Excluya los siguientes esquemas del archivo de volcado:
sys
,performance_schema
einformation_schema
. La utilidadmysqldump
excluye estos esquemas de forma predeterminada. -
Si necesita migrar usuarios y privilegios, considere la posibilidad de usar una herramienta que genere el lenguaje de control de datos (DCL) para volver a crearlos, como la utilidad pt-show-grants
. -
Para realizar la importación, asegúrese de que el usuario que lo haga tenga acceso a la instancia de base de datos. Para obtener más información, consulte Control de acceso con grupos de seguridad.
Los parámetros son los siguientes:
-u
: use este parámetro para especificar un nombre de usuario. La primera vez que utilice este parámetro, debe especificar el nombre de una cuenta de usuario en la base de datos de MySQL o MariaDB local identificada con el parámetrolocal_user
--databases
.--databases
: use este parámetro para especificar el nombre de la base de datos en la instancia de MySQL o MariaDB local que desea importar a Amazon RDS.database_name
-
--single-transaction
: use este parámetro para asegurarse de que todos los datos cargados desde la base de datos local sean coherentes en un momento determinado. Si hay otros procesos que modifican los datos mientrasmysqldump
los lee, el uso de este parámetro ayuda a mantener la integridad de los datos. --compress
: use este parámetro para reducir el consumo de ancho de banda mediante la compresión de los datos de la base de datos local antes de su envío a Amazon RDS.--order-by-primary
: use este parámetro para reducir el tiempo de carga mediante la ordenación de los datos de cada tabla según su clave primaria.-p
: use este parámetro para especificar una contraseña. La primera vez que use este parámetro, debe especificar la contraseña de la cuenta de usuario identificada por el primer parámetrolocal_password
-u
.-u
: use este parámetro para especificar un nombre de usuario. La segunda vez que utilice este parámetro, debe especificar el nombre de una cuenta de usuario en la base de datos predeterminada de la instancia de base de datos de MySQL o MariaDB identificada con el parámetroRDS_user
--host
.--port
: se utiliza para especificar el puerto de la instancia de base de datos de MySQL o MariaDB. El valor predeterminado es 3306, salvo que se haya cambiado al crear la instancia.port_number
-
--host
: se utiliza para especificar el nombre del sistema de nombres de dominio (DNS) del punto de conexión de la instancia de base de datos de Amazon RDS, por ejemplo,host_name
myinstance.123456789012.us-east-1.rds.amazonaws.com
. Puede encontrar el valor del punto de conexión en los detalles de la instancia en la consola de administración de Amazon RDS. -
-p
: use este parámetro para especificar una contraseña. La segunda vez que use este parámetro, debe especificar la contraseña de la cuenta de usuario identificada por el segundo parámetroRDS_password
-u
.
Asegúrese de crear de forma manual procedimientos almacenados, desencadenadores, funciones o eventos en su base de datos de Amazon RDS. Si hay alguno de estos objetos en la base de datos que va a copiar, exclúyalos cuando ejecute mysqldump
. Para hacerlo, incluya los siguientes parámetros con el comando mysqldump
: --routines=0 --triggers=0
--events=0
.
En el siguiente ejemplo se copia la base de datos de ejemplo world
del host local a una instancia de base de datos MySQL.
Para Linux, macOS o Unix:
sudo mysqldump -u
localuser
\ --databasesworld
\ --single-transaction \ --compress \ --order-by-primary \ --routines=0 \ --triggers=0 \ --events=0 \ -plocalpassword
| mysql -urdsuser
\ --port=3306
\ --host=myinstance.123456789012.us-east-1.rds.amazonaws.com
\ -prdspassword
Para Windows, ejecute el siguiente comando en un símbolo del sistema que se haya abierto con un clic con el botón derecho en Command Prompt (Símbolo del sistema) del menú de programas de Windows y con la selección de Run as administrator (Ejecutar como administrador).
mysqldump -u
localuser
^ --databasesworld
^ --single-transaction ^ --compress ^ --order-by-primary ^ --routines=0 ^ --triggers=0 ^ --events=0 ^ -plocalpassword
| mysql -urdsuser
^ --port=3306
^ --host=myinstance.123456789012.us-east-1.rds.amazonaws.com
^ -prdspassword
nota
Especifique credenciales distintas de las que se muestran aquí como práctica recomendada de seguridad.