在本地环境中,我使用docker-组合文件创建多个容器,包括mysql容器。
mysql容器的数据存储在./db-data中。
数据库中有4个表,例如表A、B、C、D。
在开发环境中,我创建了一个ec2实例,并使用相同的docker-组合文件来创建容器,而mysql数据库被管理为Aws RDS。
我想将表A和表B的所有数据从本地复制到开发环境,但我想知道如何实现这一点?
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-db发布于 2021-04-07 03:56:05
如果您想将数据从实例上的mysql迁移到RDS,那么mysqldump可能是最简单的选择,正如AWS文档中所解释的那样:
还可以将数据从现有的MySQL或MariaDB数据库导入到MySQL或MariaDB DB实例。为此,您可以使用mysqldump复制数据库,并将其直接导入MySQL或MariaDB DB实例。
如果基本mysqldump不适合您,则需要考虑其他选项,这取决于您的需求。例如,以最少的停机时间迁移活动数据库,或者使用AWS博士中解释的Percona XtraBackup software,甚至AWS数据库迁移服务。
发布于 2021-04-08 07:27:10
除了Marcin答案之外,如果您使用的是MYSQLWorkbench,则可以执行以下操作:
SELECT * FROM <Your table name>;Export中单击Result Grid按钮SQL Insert statements格式
https://stackoverflow.com/questions/66979146
复制相似问题