개발놀이터

MySQL 에서 MySQL로 DBeaver 이용해서 데이터 마이그레이션 진행하기 본문

CS 지식/데이터베이스

MySQL 에서 MySQL로 DBeaver 이용해서 데이터 마이그레이션 진행하기

마늘냄새폴폴 2023. 6. 6. 21:45

이번 포스팅에서는 MySQL에서 MySQL로 데이터를 마이그레이션하는 방법에 대해서 포스팅하도록 하겠습니다. 

 

이번 마이그레이션의 특징은 기존 데이터가 완전히 Overwrite 해버리기 때문에 데이터가 존재하는 상태에서 진행하는 마이그레이션은 더 나중에 해봐야할 것 같습니다. 

 

그럼 마이그레이션 시작하도록 하겠습니다.

 

DBeaver로 마이그레이션

 

먼저 복제하고싶은 데이터베이스를 오른쪽 클릭해서 도구 > Dump database를 클릭합니다. 

 

마이그레이션할 테이블을 선택해야합니다. 디폴트는 모든 테이블이 선택됩니다. 그리고 "다음"을 눌러서 내가 복제할 데이터가 어디에 저장되는지 알아야합니다. 

 

저는 C드라이브에 Users에 user군요. start를 누르면 해당 경로에 sql파일이 있을겁니다. 

 

하지만 에러가 뜨는 경우도 있는데 바로 mysqldump.exe 가 제대로 바인딩되지 않은 경우가 있습니다. 

 

2023-06-06 20:23:53.439 - IO error: Utility 'mysqldump.exe' not found in client home 'MySQL Router 8.0' (C:\Program Files\MySQL\MySQL Router 8.0)

 

저의 경우는 기본적으로 데이터베이스가 MySQL Router 8.0을 바라보고 있었기 때문에 생기는 에러였습니다. MySQL Router 8.0에는 mysqldump.exe가 없기 때문이죠. 

 

이제 문제를 해결해보죠. 자신의 데이터베이스를 오른쪽 클릭하고 Edit Connection을 클릭합니다. 

Connection settings에 Local Client가 MySQL Router 8.0으로 되어있습니다. 

 

이걸 MySQL Server 8.0으로 바꿔주시면 됩니다. 

 

그리고 다시 dump database를 누르면 성공했다는 메시지와 함께 해당 위치에 sql파일이 생성됩니다. 

 

그런 다음 마이그레이션 하고싶은 데이터베이스를 오른쪽 클릭 > 도구 > Restore database 를 클릭합니다. 

 

 

 

그리고 start를 누르면? 

 

정상적으로 마이그레이션이 됩니다. 

 

 

 

마치며

이렇게 MySQL에서 MySQL로 데이터 마이그레이션을 마쳤습니다. 제가 Docker로 배포한 MySQL로 마이그레이션 하는 것이 오늘의 목표였는데 목표를 전부 달성해서 기분이 좋습니다. 

 

여러분도 데이터 마이그레이션이 필요하다면 한번 도전해보시는게 어떨까요?

 

긴 글 읽어주셔서 감사합니다. 오늘도 즐거운 하루 되세요~