동일한 테이블이 있는 두 개의 *.db 파일을 하나의 *.db 파일로 병합

동일한 테이블이 있는 두 개의 *.db 파일을 하나의 *.db 파일로 병합

두 개의 mysql 데이터베이스 파일(*.db)을 단일 데이터베이스로 결합하고 싶습니다. 두 데이터베이스 모두 동일한 테이블을 가지고 있습니다. 이 작업을 수행하는 쉬운 방법이 있나요?

답변1

두 개의 데이터베이스가 db1과 db2라고 가정하면 다음을 수행할 수 있습니다.

1) 롤백 옵션을 위해 db1 및 db2를 백업합니다.

mysqldump -u<root> -p<pass> --databases db1 db2 > db1_db2.sql

2) db1을 백업합니다(데이터만).

mysqldump -u<root> -p<pass> --no-create-info db1 > db1.sql

3) db1의 덤프를 db2에 로드합니다.

cat db1.sql | mysql db2 

따라서 두 데이터베이스에 동일한 테이블이 있으면 데이터가 테이블에 삽입됩니다. 테이블이 없으면 오류가 발생합니다. 이러한 오류를 건너뛰고 다음과 같이 계속되도록 할 수 있습니다.

cat db1.sql | mysql -u<user> -p<pass> db2 --force

관련 정보