실제 생활에서 매우 중요 한 것은 정기적으로 데이터베이스를 백업. 우리가 MySQL을 사용 하는 경우 데이터베이스 백업에 선택의 많은 그리고이 기사는 독자 MySQL의 mysqldump를 사용 하 여 데이터베이스를 백업 하는 방법을 보여줄 것 이다.
데이터 백업의 중요성
직장에서 실수로 중요 한 문서 또는 디렉터리를 삭제 한 경우 다음 결과가 됩니다 비참. 특히 때 실수로 삭제 된 데이터 포함 중요 한 고객이 나 핵심 프로젝트와 데이터를 쉽게 다시 만들 수 없는, 그것은 당신이 상상할 수 있는 무엇을 말할 수 없다. 불행 하 게도,이 같은 데이터는 판매 기록, 고객 연락처 정보 등 기업 환경에서 유비 쿼터 스입니다.
그래서, 실제 생활에서의 큰 관심사는 데이터베이스를 정기적으로 백업, 그렇지 않으면 그것은 비참 한 결과 가질 수 있습니다. 우리가 MySQL을 사용 하는 경우 데이터베이스 백업에 선택에 대 한 공간을 많이 있다. 이 문서는 MySQL의 mysqldump를 사용 하 여 데이터베이스를 백업 하는 방법을 독자 들을 표시 됩니다.
Ii. Mysqldump에 대 한
MySQL 자체 Mysqladmin 도구는 아래에 설명 된 mysqldump 뿐 아니라 다양 한 관리 작업을 수행할 수 있지만 MySQL의 데이터베이스 스키마, 데이터, 사용자 및 구성 변수, 상호 작용 하는 데 사용할 수 있는 MySQL 도구 같은 명령줄 도구를 제공 합니다. 더 많은, 하지만이 문서의 범위를 넘어이 야. 도구 mysqldump 데이터베이스 스키마를 백업 하 고 데이터를 백업에 사용할 수 있습니다, 뿐만 아니라 담요를 뿐만 아니라 단일 서버에서 모든 데이터베이스의 백업 선택적으로 데이터베이스를 다시 만들거나 심지어 그것을 사용 하 여 테이블의 일부 지정 된 데이터베이스에.
서버에 MySQL을 설치 하면 글로벌 명령줄 개별 클라이언트 프로그램을 액세스할 수 있도록 시스템 경로 수정 해야 합니다. 터미널 창을 열고 다음 명령을 실행 합니다.
% > mysqldump 사용: mysqldump [옵션] 데이터베이스 [테이블] OR mysqldump [옵션]
-[옵션] DB1 데이터베이스 [d b 2 d b 3...] 또는 mysqldump [옵션]-모든-데이터베이스 [옵션]
더 많은 옵션에 대 한 Mysqldump-사용 도움말
Mysqldump 프로그램을 사용 하 여 메서드는 여기에 주어 집니다. 예를 들어 파일 Backup092210.sql 모든 데이터베이스 스키마 및 데이터를 백업, 다음 명령을 수행할 수 있습니다.
% > mysqldump-u 루트-p-모든-데이터베이스 > Backup092210.sql 암호 입력:
여기, 모든 데이터베이스에 액세스할 수 있을, 우리는 루트 권한이 필요, 그래서 여기 우리는 프롬프트 후 해당 암호를 입력 해야. 또한, 개발 서버에서 이러한 명령을 연습 하는 경우 백업 파일의 내용을 보는 순간을 걸릴. 테이블이 삭제 된 후 다시 생성 했다 문 그리고 문을 관련 데이터를 재현 하는 일련의 SQL 문을 먼저 표시 됩니다. 또한, 우리가 위의 예제에서 모든 데이터베이스를 백업, 때문에 찾을 수 있습니다 또한 백업 파일 (해당 되는 경우 그것은 아직 존재 하지 않는) 각 데이터베이스를 만들 것입니다 및 다음 스위치는 테이블을 만들고 데이터를 사용 하 여 명령을 사용 하 여 데이터베이스를 데이터베이스와 관련 된.
와 같은 위 키 위 키-backup092210.sql 라는 파일을 라는 데이터베이스를 백업 하는 단일 데이터베이스를 백업, 아래 명령을 사용 우리.
% > mysqldump-u 루트-p 위 키 > 위 키 backup092210.sql 입력 암호:
마지막으로, 예를 들어 사용자는 데이터베이스에 라는 테이블을 백업, Wikiusers-backup092210.sql 라는 파일에 백업, 우리 수 있습니다 명령을 사용 하 여 아래:
% > mysqldump-u 루트-p 위 키 사용자 > Wikiusers backup092210.sql 암호 입력:
Iii. 백업 내용 조정
가끔은, 우리 수 있습니다 그냥 데이터베이스의 스키마를 백업 또는 데이터베이스 데이터를 백업 하 고 싶어요. 데이터베이스 스키마를 백업 하려면 다음과 같이 매개 변수-mysqldump 없음-데이터를 전달할 수 있습니다.
% > mysqldump-u 루트-p-데이터가 없는 위 키 > 위 키-backup092210.sql
만 데이터베이스에 데이터를 백업 하려면 다음과 같이 매개 변수-없음-만들기-정보를, Mysqldump 사용할 수 있습니다.
% > mysqldump-u 루트-p-위 키 노-생성 정보 > 위 키-backup092210.sql
Ⅳ. 자동화 백업 하는 방법
이전 예제에서는 mysqldump 명령 적은 수의 키 입력으로 실행 됩니다. 그러나, 지금도 할 일을 많이 하 고 인생 너무 단조로운 것이 명령 실행 유지 하는 경우. 그래서 우리는 모든 유닉스 운영 체제에서 발견 되는 우리의 목표를 달성 하기 위해 cron 도구를 사용 하 여 이러한 프로세스를 자동화 하기 위해 시도할 수 있습니다. 백업 작업을 자동화, 새로운 올바르게 명명 된 파일을 만들 해야 합니다. 예를 들어 야간-backup.sh, 특정 명령 다음과 같습니다.
#! / 빈/sh Mysqldump-uroot-psecret 위 키 >/가정/백업/sql/위 키-백업-' 날짜 + m %%d %y '. sql
때이 스크립트를 실행 하 고, 위 키-백업-092210.sql 같은 백업 시간 후 이라는 파일에 위 키 데이터베이스를 백업 합니다. 어떻게 사용자 루트 및 암호 비밀 전달 mysqldump, 옵션 뒤에 배치 되는의 알고 있이 필요가-당신은 P 각각. 보안 관점에서 우리는 올바른 사용 권한 집합을 해야 해요.
다음으로, 우리가 주지이 스크립트 cron에 crontab을 사용 하 여. 이렇게 하려면 우리는 다음 명령을 실행할 수 있습니다.
% > crontab-e
현재 로그온 한 사용자의 Crontab 파일 열리고 파일이 존재 하지 않는 경우 자동으로 새를 만듭니다. 이 파일에서 우리가 백업 스크립트에 매일 아침 3 시 실행 되도록 다음을 추가할 수 있습니다.
0 3 * * */home/backup/scripts/nightly-backup.sh
Crontab의 구문에 잘 알고 있다면, 여기에 매개 변수는 당신이 당신의 머리를 긁 적을 떠날 수 있습니다. 여기에 5 개의 매개 변수는 스크립트, 분, 일, 월 및 주 실행 시간에 해당 합니다. 따라서, 실행 스크립트 매주 화요일 오전 4시 45분, 사용할 수 있습니다 매개 변수 45 4 * * 3.
위의 저장의 라인을 삽입 한 후 파일을 우리의 작업 일정을 한 번에 실행 하기 시작 합니다. Note 다음날 아침 모든 것 확인 되었는지 해당 디렉터리를 확인 해야 합니다.
V. 다른 백업 시나리오
이 문서의 앞부분에서 설명 했 듯이, Mysqldump MySQL에 대 한 많은 백업 시나리오 중 하나입니다. 또한, 증분 백업, MySQL 바이너리 로그 파일을 사용 하 여 수 또는 MySQL 마스터 서버에서 데이터를 복사는 서버에서.
Vi입니다. 요약
이 문서에서는, 우리는 우리의 독자 들과 간단한 MySQL 백업 솔루션을 구축 했습니다. 전에 어떤 솔루션을 구현 하지 않은 경우 즉시 그것을 시도 수도 있습니다. 중요 한 것은 단지 몇 분 걸립니다 그리고 그것은 아주 잘 그린 것 같아요입니다.