백엔드 프로그래밍을 계속 하면서 testDB에 대한 필요성을 계속 느끼게 되어 오늘 testDB를 구축하게 되었습니다. testDB는 다른 개발자도 사용할 수 있도록 aws에 만들기로 하였습니다.testDB는 원본 DB 내용을 반영하도록 하겠습니다.
우선 DBeaver에 접속한 뒤 복사하길 원하는 데이터베이스를 우클릭하고 Tools > Dump database를 선택합니다. dump의 정확한 의미는 모르지만 복사 정도로 이해하고 있습니다.
데이터 베이스를 복사(덤프) 하는 중 에러가 발생했습니다.
Native Client is not specified for connection
해당 오류의 원인을 구글링해본 결과 로컬에 mysql이 설치되어있지 않아서였습니다.
그래서 mysql community server 를 설치해주었습니다.
성공적으로 덤프가 되었다.
덤프가 되었으니 이제 리스톨만 성공적으로 마무리하면 될 것이다. 하지만 쉽게 되지 않았다....
덤프한 백업 파일을 리스톨 하려고 보니
Access denied; you need (at least one of) the SUPER privilege(s) for this operation
위와같은 에러를 만났다. 해당 에러를 해결 하기 위해서 구글의 도움을 받아 글을 찾아냈다.
https://stackoverflow.com/questions/44015692/access-denied-you-need-at-least-one-of-the-super-privileges-for-this-operat
터미널 환경에서 덤프한 파일 경로로 찾아가서 아래 명령어를 실행 시켜준다.
GRANT ALL PRIVILEGES ON db.* TO another_user@'localhost';
혹시 위의 명령어로 해결이 되지 않았다면
At the start:
-- SET @@SESSION.SQL_LOG_BIN= 0;
-- SET @@GLOBAL.GTID_PURGED=/*!80000 '+'*/ '';
At the end:
-- SET @@SESSION.SQL_LOG_BIN = @MYSQLDUMP_TEMP_LOG_BIN;
sql 파일에 직접 들어가서 위 구문을 주석 처리 해주어야 한다.
성공적으로 testDB를 만들었다.