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.

 

 

11 Replies to “Exportar Mysql a AWS RDS Mysql.”

    1. ctala says:

      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.

      View Comment Responder
  1. sdrex0 says:

    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?

    View Comment Responder
    1. ctala says:

      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 !

      View Comment Responder
  2. Carmen says:

    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.

    View Comment Responder
    1. ctala says:

      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 ?

      View Comment Responder
  3. Ramon La Torre says:

    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

    View Comment Responder

Responder a Victor Cancelar respuesta

This site uses Akismet to reduce spam. Learn how your comment data is processed.