IT/MySQL

Mysql Data 백업 및 복구 ( 샘플데이터베이스 다운 )

pandada 2022. 6. 13. 11:19
반응형

필자는 우선 Mysql을 기존에 다른 서버에서 사용하고 있었다.

해당 서버를 지우기 위해서 현재 서버를 구축해서 이동을 하고 있는 작업을 틈틈히 진행하기 때문에..

Mysql DB 백업 및 복구 방법에 대해서 알아보려고 한다.

 

블로그 용도를 위해서 샘플 데이터베이스를 넣어볼 예정이다.

샘플 데이터 베이스는 Mysql 에서 제공하는 샘플 데이터 베이스를 다운받았다.

https://www.mysqltutorial.org/mysql-sample-database.aspx/

 

MySQL Sample Database

This page provides you with a MySQL sample database that helps you to practice with MySQL effectively and quickly. You can download the sample database and load it into your MySQL Server.

www.mysqltutorial.org

 

해당 문서에서 Download를 진행하면 압축파일이 생긴다.

 

< mysqlsampledatabase.sql >

데이터베이스 자체의 용량은 그렇게 크지 않다.

그럼 이제 Workbench를 통해서 데이터를 넣어주자.

Workbench에서 File -> Open SQL Script 를 선택해서 다운로드 받은 해당 파일을 실행한다.

 

< Sql open >

sql 파일을 오픈하면 해당 내용으로 표기가 되어있다. 해당 부분을 다 긁어서 실행을 해서 create 와 insert를 진행해줘도 되며, File -> Run Sql Script 를 진행해서 바로 넣어줘도 된다. 

 

 

해당 방식으로 실행을 하게 되면, 

 

< Run SQL Script >

Schema 와 Character Set을 선택해서 run을 해주면 해당 데이터베이스에 내용이 입력된다.

해당 방식이 복구 방식으로 인식하면 된다. 즉, 백업된 sql 데이터를 insert 할 수 있다는 내용이다. 

 

< Error executing SQL script >

에러가 표기되었다. 역시 script 파일 내용을 검토를 진행하지 않고, 바로 업로드 할 경우에는 오류가 발생한다.

그럼 샘플 스크립트 파일을 한번 검토 해보자.

< 요류 부분 >

해당 부분의 주석처리 내용들이 잘못되어있었다. 필자는 어차피 데이터베이스를 저번에 만들어 두었기 때문에 해당 내용을 삭제하도록 하겠다. 저 부분은 새로운 데이터베이스를 만들고 하는 부분이라 그다지 필요가 없다.

맨 아래쪽에도 해당 내용이 있기 때문에 같이 지워준다.

추가적으로 현재 필자가 원하는 Charater Set 은 utf8이기 때문에 해당 부분도 utf8로 변경한 후 진행했다.

 

이렇게 인서트가 완료되면

< insert 완료 >

이렇게 복구된 내용을 확인할 수 있다. 자 그럼 이제 기존 테이블 및 데이터를 백업시키는 내용을 진행해보자.

백업에 대한 내용은 다음과 같다.

 

 

< mysqldump >

mysqldump 파일을 생성하는 방식이다. 필자의 경우 root 로 접속을 해서 했으며, 해당 DB에 대한 권한이 있을 경우에는 그냥 해당 권한의 계정으로 접속하면 된다.

명령어는 다음과 같다.

 

mysqldump -u 계정 -p 백업할디비 > 백업한디비의파일명.sql

그럼 C드라이브 경로의 하위단에 내용이 있는 것을 확인할 수 있다.

 

< novacel_back >

백업 복구에 대한 내용을 간단히 진행해봤다. 


번외로... 필자가 원래 파일을 run script 를 통해서 데이터를 기존 데이터베이스에 밀어넣으려고 해봤다...

 

하지만...

새로 설치한 DB의 버전이 일치하지 않는지.... 계속 character set 에러가 표기가 되드라...

 

< cp949 error >

문구를 봤을 때에는 분명 utf-8 즉, 한글때문에 깨지는 현상인데... 그럼 이걸 어떻게 해야하는지 열심히 확인해봤다..

my.ini 파일도 바꾸고... 하지만 별짓거리를 해도 workbench 상으로는 insert가 안되드라..

그리고 workbench상에서는 character set도 utf8mb3였다... 왜 안되는지 모르겠다...아시는분 있으면 댓글로 알려주면 감사하겠습니다...

 

그래서.. 그냥 필자는... 서버에 붙어서 직접 커맨드를 날렸다...

 

source 경로\파일명.sql

< 정상 insert >

cmd상으로 명령어를 날리니까 정상적으로 되드라...

반응형

'IT > MySQL' 카테고리의 다른 글

Mysql Authentication protocol requested by server;  (0) 2022.06.14
Windows MySQL 외부 접속 허용  (0) 2022.06.10