Web
mysqldump 와 FileZilla 사용하여 새로운 서버에 DB 복구하기
k솔이
2022. 12. 21. 14:35
mysqldump ?
MySQL에서는 데이터베이스 백업을 위해 다양한 방법을 지원하는데 그 중 하나이다.
MySQL에 있는 데이터들을 백업하기 .sql 파일로 만든 후 다른 데이터베이스에 넣는다.
사용방법
기존서버 mysql 계정에 접속한다.
mysqldump에 접근하기 위해서는 많은 권한(SELECT,SHOW VIEW,TRIGGER,LOCK TABLES,FILE,CREATE,ALTER DATABASE ...)을 필요로 하기 때문에 dump용 계정을 따로 생성하여 사용한다고 한다.. (저는 일단 root로 진행했습니다.)
mysql -u root -p
Enterpassword : 패스워드 입력
dump 시킬 Database 조회
show databases;
mysql 나가기
exit
dump를 진행한다.
mysqldump -uroot -p 덤프시킬 데이터베이스명 > 생성할 파일명.sql
ex) mysqldump -uroot -p test > test.sql
조회한다.
test.spl 파일이 생성되었다.
ll 또는 ls
FileZilla를 실행하여 .sql 경로를 지정해준다.
왼쪽 초록색 박스는 로컬, 오른쪽 보라색 박스는 서버이다.(.sql을 생성한 서버)
text.sql 파일을 로컬 하단 화살표 방향으로 파일을 클릭하여 드래그한다.
로컬로 이동된것을 확인할 수 있다.
다시한번 로컬 -> 새로운 서버로 파일을 옮겨준다.(새로운 서버와 연결 하여 진행한다.)
옮긴 경로에 파일이 생겼나 확인한다.
dump한 새로운 서버로 이동하여 계정에 접속한다.
mysql -u root -p
Enterpassword : 패스워드 입력
데이터베이스를 조회한다.
show databases;
dump 파일을 옮길 새로운 데이터베이스를 생성한다.
create database 데이터베이스명;
ex) create database test2;
mysql 나가기
exit
dump 파일을 복구한다.
mysql -u root -p 복구할 DB명 < 저장한데이터베이스파일명.sql
ex) mysql -u root -p test2 < test.sql
mysql에 접속하여 show databases 를 조회하여 복구가 잘 되었는지 확인한다.
끝.