후 힘든 여정이었다...
로컬에 저장되어 있는 xxx.sql 파일을 도커 컨테이너의 MySQL에 복원하려고 한다. 처음에는 그냥 Workbench 의 Data Restore 를 통해 복구하려고 했는데, 왜인지 해당 파일을 찾을 수 없다는 오류가 떴다.
그렇게 해서 알게된 사실! 로컬 파일을 그냥 도커에 가져올 수는 없지ㅎㅎ
그래서 도커 내의 경로에 해당 파일을 복사 한 후 도커 내의 MySQL에 복원하는 방법을 거쳤다.
docker cp {로컬 파일 경로} {컨테이너 이름}:{컨테이너 내 복사할 경로}
<example>
docker cp C:\Users\SEC\Downloads\DMMDB_20231012.sql mysql82:/var/opt
나는 로컬의 Downloads 내에 있는 xxx.sqp 파일을 mysql82 라는 컨테이너 내의 /var/opt 경로에 복사했다.
CREATE DATABASE DatamotionMovieDatabase;
** cmd가 아닌 sql 내에서 하는 겁니다!
docker exec -it {컨테이너 이름} bash
<example>
docker exec -it mysql82 bash
나는 mysql82 라는 이름의 컨테이너에 접속했다.
mysql -u root -p {데이터베이스 이름} < {백업 파일이 저장된 경로}
<example>
mysql -u root -p DatamotionMovieDatabase < /var/opt/DMMDB_20231012.sql
bash 로 접속한 후, # 뒤에서부터 명령을 작성하면 된다. -u root -p를 했으니 MySQL root 권한 접속을 위해 password 를 치라고 하고, 그 후 복원이 진행된다.
복원 후 데이터베이스에 접속하여 테이블을 확인해보면 복원이 잘 되었음을 볼 수 있다.
USE {데이터베이스 이름};
SHOW TABLES;
휴우... 복원 성공!!
다음 번에는 MSSQL 에서 복원을 해보도록 하겠다. 이만!