En el entorno local, estoy usando el archivo docker-compose para crear varios contenedores, incluido el contenedor mysql.
Los datos del contenedor mysql se almacenan en ./db-data .
Hay 4 tablas en la base de datos, por ejemplo, Tabla A,B,C,D.
En el entorno de desarrollo, creé una instancia ec2 y utilicé el mismo archivo docker-compose para crear contenedores, mientras que la base de datos mysql se administra mediante Aws RDS.
Quiero copiar todos los datos de la Tabla A y B del entorno local al de desarrollo, pero me pregunto cómo puedo lograr esto.
docker-compose.yml
version: '2.1' services: test-db: image: mysql:5.7 environment: - MYSQL_ALLOW_EMPTY_PASSWORD=true - MYSQL_USER=admin - MYSQL_PASSWORD=12345 - MYSQL_DATABASE=test volumes: - ./db-data:/var/lib/mysql ports: - 3306:3306 test-web: environment: - NODE_ENV=local #- DEBUG=* - PORT=3030 build: . command: > ./wait-for-db-redis.sh test-db npm run dev ports: - "3030:3030" depends_on: - test-dbSi desea migrar sus datos de mysql en la instancia a RDS mysql, probablemente mysqldump sea la opción más fácil, como se explica en los documentos de AWS:
También puede importar datos de una base de datos MySQL o MariaDB existente a una instancia de base de datos MySQL o MariaDB. Para hacerlo, copie la base de datos con mysqldump y conéctela directamente a la instancia de base de datos MySQL o MariaDB.
Hay otras opciones a considerar si mysqldump básico no le conviene, dependiendo de sus requisitos. Por ejemplo, migrar una base de datos en vivo con un tiempo de inactividad mínimo , o usar Percona XtraBackup software como se explica también en los documentos de AWS , o incluso el servicio de migración de bases de datos de AWS .
Además de la respuesta de Marcin, si está utilizando MYSQLWorkbench, puede hacer lo siguiente: