Desarrollo y Tecnología > AWS > Exportar Mysql a AWS RDS Mysql.

Exportar Mysql a AWS RDS Mysql.

Amazon RDS (Relational Database Service) es un servicio de bases de datos almacenadas en el Cloud ( La nube! ).

La factibilidad de que este servicio tenga disponible una base de datos como MYSQL hace posible que muchas de las aplicaciones que se usan hoy en día, que además son libres, puedan correr con una base de datos externa.

En este caso solo hablaremos de como enviar la información que ya tenemos en Mysql a la base de datos Mysql de RDS.

Primero hacemos el backup de nuestra base de datos :

mysqldump MIBDD -u MIUSUARIO -p > BACKUP.SQL

El comando anterior respaldará toda la información de la BdD en el archivo BACKUP.sql . Después de ejecutar este comando nos pedirá la clave del usuario que ejecutará la consulta.

Ahora debemos enviar la información de nuestro respaldo a nuestra BdD RDS.

Recordar que la dirección de nuestra BdD la podemos encontrar en nuestro panel de administración RDS en el siguiente lugar :

Dirección de la BdD en RDS
Dirección de la BdD en RDS

Ahora una pequeña modificación a nuestro archivo BACKUP.sql.

Al inicio, simplemente agregamos la BdD  en donde queremos guardar la información.

USE MI_DB;

Ahora estamos listos para poder insertar en la BdD.

mysql --host=XXXXXXX.us-east-1.rds.amazonaws.com --user=root -p < BACKUP.sql

Lo que nos pedirá el password para el usuario root en este caso e insertará la información en mi caso en la BdD MI_DB.

 

En resumen:

  1. Generar el respaldo,
  2. Agregar la linea para utilizar la BdD Deseada al archivo resultante.
  3. Enviar la Información.
OJO:
Debes de tener acceso remoto a la BdD para poder conectarte con el comando mysql desde otra maquina.

 

 

21 comentarios en «Exportar Mysql a AWS RDS Mysql.»

    • Mira, en este caso estamos haciendo la exportación.

      Yo lo hice para usar el servidor de base de datos de Amazon, pero si quieres generar una replica eso depende de ti. Es el mismo procedimiento.

      Yo me cree un mini script en bash que es ejecutado automáticamente, si tienes un server linux te recomiendo que revises CRON.

      Responder
    • Mira, en este caso estamos haciendo la exportación.

      Yo lo hice para usar el servidor de base de datos de Amazon, pero si quieres generar una replica eso depende de ti. Es el mismo procedimiento.

      Yo me cree un mini script en bash que es ejecutado automáticamente, si tienes un server linux te recomiendo que revises CRON.

      Responder
  1. Saludos. Una duda, se podría subir el .sql al s3 y ejecutar el » mysql –host=XXXXXXX.us-east-1.rds.amazonaws.com –user=root -p < BACKUP.sql"
    ¿Como sería?

    Responder
    • Mira,
      la verdad es que la idea es que lo mantengas junto con el sistema que estés utilizando o creando. En mi casi es un software que está con manejo de versiones en git.

      De esta manera tienes los script donde sea que los necesites.

      De todas formas siempre los tendrás en el server de producción !

      Responder
  2. Saludos. Una duda, se podría subir el .sql al s3 y ejecutar el » mysql –host=XXXXXXX.us-east-1.rds.amazonaws.com –user=root -p < BACKUP.sql"
    ¿Como sería?

    Responder
    • Mira,
      la verdad es que la idea es que lo mantengas junto con el sistema que estés utilizando o creando. En mi casi es un software que está con manejo de versiones en git.

      De esta manera tienes los script donde sea que los necesites.

      De todas formas siempre los tendrás en el server de producción !

      Responder
  3. Hola, hice en backup de la base de datos, restaure el backup, deploye mi aplicación corre, realiza consultas pero no inserta registros, que puede estar sucediendo.

    Responder
    • Carmen,

      lo más probable es que el usuario no tenga permisos para poder escribir en la base de datos. Cual usuario usas y como lo haces ? Hay algún error ?

      Responder
  4. Hola, hice en backup de la base de datos, restaure el backup, deploye mi aplicación corre, realiza consultas pero no inserta registros, que puede estar sucediendo.

    Responder
    • Carmen,

      lo más probable es que el usuario no tenga permisos para poder escribir en la base de datos. Cual usuario usas y como lo haces ? Hay algún error ?

      Responder
  5. Consulta:

    Vía Navicat bajo Linux, generé un DUMP SQL de mi base de datos que está en MySQL en un servidor local, y al conectarme al RDS también por Navicat bajo Linux, pasó lo siguiente:

    Estoy levantando un dump con la base de datos de desarrollo (local) a QA (AWS) vía Navicat, y me han pasado dos cosas que antes no me han sucedido:

    1. Debieron subir 979 stored procedures, y al levantar el dump, cada ciertos stored procedures, la ejecución se detenía indicando un error, revisaba que el último SP procesado se encuentre, y lo continuaba desde este punto. Al final del proceso subieron 975 stored procedures. La única forma de saber cuáles faltan es cruzar las dos listas, pero como desde Navicat en Ubuntu no puedo entrar a la consola (no existe la opción), no puedo obtener la lista, lo mismo en la base de datos local.
    2. Cuando empezaron a subir las Funciones de MySQL, me dio el siguiente mensaje de error: [Err] 1418 – This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable), cuando agregué DETERMINISTIC en la declaración del script de creación obtuve este mensaje: [Err] 1419 – You don´t have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)

    3. Las tablas levantaron todas correctamente (354).

    ¿Qué necesito para pasar todo limpiamente, para poder crear finalmente un proceso automático que pueda programar con un cronjob? Gracias

    Responder
  6. Consulta:

    Vía Navicat bajo Linux, generé un DUMP SQL de mi base de datos que está en MySQL en un servidor local, y al conectarme al RDS también por Navicat bajo Linux, pasó lo siguiente:

    Estoy levantando un dump con la base de datos de desarrollo (local) a QA (AWS) vía Navicat, y me han pasado dos cosas que antes no me han sucedido:

    1. Debieron subir 979 stored procedures, y al levantar el dump, cada ciertos stored procedures, la ejecución se detenía indicando un error, revisaba que el último SP procesado se encuentre, y lo continuaba desde este punto. Al final del proceso subieron 975 stored procedures. La única forma de saber cuáles faltan es cruzar las dos listas, pero como desde Navicat en Ubuntu no puedo entrar a la consola (no existe la opción), no puedo obtener la lista, lo mismo en la base de datos local.
    2. Cuando empezaron a subir las Funciones de MySQL, me dio el siguiente mensaje de error: [Err] 1418 – This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable), cuando agregué DETERMINISTIC en la declaración del script de creación obtuve este mensaje: [Err] 1419 – You don´t have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)

    3. Las tablas levantaron todas correctamente (354).

    ¿Qué necesito para pasar todo limpiamente, para poder crear finalmente un proceso automático que pueda programar con un cronjob? Gracias

    Responder

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.