자유롭게 사용할 수있는 주요 데이터베이스 중 하나 인 MySQL은 모든 종류의 웹 응용 프로그램에 널리 사용됩니다. 인터넷에 노출 되어도 앱은 물론 악의적 인 공격에 노출됩니다. 서버가 해킹 당하면 기껏해야 애플리케이션을 다시 설치해야합니다. 최악의 경우 데이터가 완전히 손실 될 수 있습니다. 또한 결국 한 서버에서 다른 서버로 데이터베이스를 마이그레이션해야하는 상황에 처하게됩니다.
mysqldump는 무엇을 위해 사용 되는가?
그만큼 mysqldump 도구를 사용하면이 두 가지 상황에 모두 적용됩니다. 기본 기능은 MySQL 데이터베이스를 가져 와서 텍스트 파일로 "덤프"하는 것입니다. 하지만 텍스트 파일뿐만 아니라 … 파일은 SQL 문 세트. 이 명령문을 실행하면 데이터베이스를 덤프를 실행 한 정확한 상태로 다시 구성합니다.
그래서 당신은 mysqldump 데이터베이스 내보내기를 수행합니다. 이것들은 백업용이거나 데이터베이스를 새로운 호스트로 이동하기 때문에 가능합니다. 두 경우 모두 어느 시점에 수입 텍스트 파일을 다시 MySQL 데이터베이스 서버에 저장합니다. 파일에서 모든 SQL 문을 실행하여 DB를 원래 상태로 다시 작성합니다. 이 부분은 실제로 mysqldump 이 유틸리티가 없으면 불가능합니다!
MySQL 문서에는 백업을 만드는 다른 방법이 나열되어 있지만 이것들은 모두 자신의 단점이 있습니다.
- MySQL Enterprise에서 DB를 핫 카피하는 것은 엔터프라이즈의 가격 태그에 신경 쓰지 않는다면 이러한 백업을 수행 할 수있는 좋은 방법입니다.
- DB의 데이터 디렉토리를 복사하는 것은 운영체제를 거치면서 목적지가 달라지기 때문에 까다로울 수 있습니다.
- 구분 된 텍스트 파일로 내보내는 것은 콘텐츠를 제공하지만 직접 구조를 다시 만들어야합니다. 그리고 네가 그걸 제대로 받아 들여야 겠어.
- 종종 MySQL Workbench와 같은 GUI 프로그램에서 데이터베이스를 백업 할 수 있습니다. 그러나 이것은 수동 프로세스입니다. 즉 일괄 처리 작업에 스크립트로 포함하거나 포함시킬 수있는 작업이 아닙니다.
mysqldump 도구 설치하기
이 기사에 관심이 있다면 이미 MySQL을 설치했을 가능성이 있습니다. 그럴 경우 좋은 소식입니다. 이미 알고 있습니다. mysqldump! 그렇지 않다면 운영 체제에 맞는 표준 방식으로 MySQL을 설치할 수 있습니다.
Windows의 경우 Windows 7에 MySQL을 설치하기위한 지침을 확인하십시오 (설치 프로세스는 여전히 동일합니다). 마찬가지로 macOS에서도 macOS 10.7에 MySQL을 설치하는 방법을 참조하십시오 (이전이지만 계속 적용 가능). Ubuntu 기반 Linux 시스템 사용자는 다음 명령을 사용하여 MySQL 클라이언트 및 유틸리티를 설치할 수 있습니다.
sudo apt는 mysql-client를 설치합니다. 일단 설치되면 다음을 사용할 수 있습니다. mysqldump 데이터베이스의 전체 백업을 가져옵니다. mysqldump -h DB 호스트의 이름 또는 IP -u DB 사용자의 이름 -p 데이터베이스 이름> db_backup.sql
이 명령을 조금씩 해봅시다. 작업이 완료되면 .SQL 파일이 생성됩니다. 이것은 SQL 문을 포함하는 텍스트 파일입니다. 텍스트 편집기에서 열어 내용을 검사 할 수 있습니다. WordPress 데이터베이스에서 내보내기를 보면이 파일들이 어떻게 결합되어 있는지 확인할 수 있습니다. 파일은 섹션으로 나뉩니다. 위 이미지에서 첫 번째 섹션이 WordPress 설명 용 테이블을 설정하는 것을 볼 수 있습니다. 그런 다음 두 번째 섹션은 해당 테이블에 있던 내용 (즉, 주석 레코드)을 다시 작성합니다. MySQL 덤프를 다시 가져 오면 명령은 파일을 통해 작동하고 명령문을 실행하며 데이터베이스를 다시 작성합니다. 어떻게 그걸합니까? 한 번 보자. 이 작업을 수행하려면 먼저 데이터베이스를 만들어야하며 유효한 사용자 이름과 암호가 있어야합니다. 데이터베이스에 대한 모든 권한도 가지고 있어야합니다. (엄밀히 말하면 당신은 부여 권한은 있지만 모든 권한을 부여하는 것이 더 쉽습니다.)이 기사에서는 데이터베이스 사용 권한에 대한 세부 정보를 볼 수 있습니다. 데이터를 다시 가져 오려면 다음 단계를 따르십시오. 작업이 끝나면 SQL 문이 실행되고 있음을 알리는 긴 메시지 목록이 표시됩니다. 오류에주의를 기울이십시오. 그러나 올바른 사용 권한이 있으면 빈 데이터베이스이므로 잘해야합니다. 프로세스가 완료되면 원본 데이터베이스의 복제본을 갖게됩니다. 다른 덤프를 수행하고 두 출력을 비교하여이를 확인할 수 있습니다. 알맞은 텍스트 편집기가 당신이나 아래 그림과 같은 전용 * diff * 도구로 이것을 할 수 있습니다 : 오른쪽 스크롤바 맨 위와 맨 아래에 빨간색 선으로 표시된 것처럼 두 파일 간에는 두 가지 차이점 만 있습니다. 첫 번째는 데이터베이스 이름을 포함하는 줄입니다. 우리는 이름을 다르게 지정했기 때문에이 이름이 다를 것으로 예상합니다. 두 번째는 끝에서 덤프 파일의 타임 스탬프입니다. 그리고 우리는 첫 번째 이후에 두 번째 데이터베이스를 다시 만들었 기 때문에 이것이 다른 것으로 기대합니다. 그렇지 않으면 파일이 정확히 동일합니다. 즉, 파일을 생성 한 데이터베이스도 마찬가지입니다. MySQL 덤프 추출하기
MySQL 덤프 파일 가져 오기