>일반적인 문제 >데이터 백업 시 데이터베이스 상태에 따라 여러 가지 백업 방법이 있습니다.

데이터 백업 시 데이터베이스 상태에 따라 여러 가지 백업 방법이 있습니다.

青灯夜游
青灯夜游원래의
2022-07-21 17:06:026092검색

3가지 백업 방법이 있습니다. 1. 오프라인 백업이라고도 불리는 콜드 백업은 데이터베이스가 닫혀 있고 데이터베이스를 업데이트할 수 없을 때 데이터베이스를 완전히 백업하는 것을 말하며 지정된 방식으로 데이터를 복원할 수 있습니다. 2. 온라인 백업이라고도 불리는 핫 백업(Hot Backup)은 데이터베이스가 실행되는 동안 아카이브 로그 모드로 데이터베이스를 백업하는 방법이다. 3. 논리적 백업은 소프트웨어 기술을 사용하여 데이터베이스에서 데이터를 내보내고 이를 출력 파일에 쓰는 것을 의미합니다. 파일 형식은 일반적으로 원본 데이터베이스의 형식과 다르며 원본에 있는 데이터 내용의 이미지일 뿐입니다. 데이터 베이스.

데이터 백업 시 데이터베이스 상태에 따라 여러 가지 백업 방법이 있습니다.

이 튜토리얼의 운영 환경: Windows 7 시스템, Dell G3 컴퓨터.

데이터 백업 시 데이터베이스 상태에 따라 콜드 백업(오프라인 백업), 핫 백업(온라인 백업), 논리 백업의 세 가지 백업 방법이 있습니다.

데이터베이스의 콜드 백업

오프라인 백업이라고도 하는 콜드 백업은 데이터베이스가 닫혀 있고 데이터베이스를 업데이트할 수 없을 때 데이터베이스를 완전히 백업하는 것을 말하며, 데이터 복구를 지정할 수 있습니다.

이렇게 하면 데이터베이스의 무결성을 보장할 수 있다는 장점이 있고, 백업 과정이 간단하며 복구 속도가 비교적 빠르지만, 데이터베이스를 폐쇄하면 현재 업무에 영향을 미치게 됩니다. 서버가 다운된 동안에는 사용자는 더 이상 웹사이트에 접속할 수 없습니다. 예를 들어, 일부 전자상거래 웹사이트가 매장 축하 행사 기간 동안 백업을 위해 데이터베이스를 종료해야 한다면 그 손실은 헤아릴 수 없을 것입니다. 따라서 콜드 대기는 일반적으로 덜 중요하고 핵심이 아닌 비즈니스에 사용됩니다.

콜드 백업이 가장 빠르고 안전한 방법입니다. 콜드 백업의 장점은 다음과 같습니다.

1. 매우 빠른 백업 방법입니다(파일만 복사).

2. 쉽게 보관(복사만)

3. 파일을 다시 복사해야 합니다.)

4. 데이터베이스의 "최적 상태"를 복원하기 위해 보관 방법과 결합할 수 있습니다.

5. 낮은 유지 관리, 높은 보안.

그러나 콜드 백업에도 다음과 같은 단점이 있습니다.

1. 단독으로 사용할 경우 "특정 시점"까지만 복구할 수 있습니다.

2. 백업 중에는 데이터베이스를 백업해야 하며 다른 작업은 수행할 수 없습니다. 즉, 콜드 백업 중에는 데이터베이스를 닫아야 합니다.

3. 디스크 공간이 제한되어 있으면 테이프 등 다른 외부 저장 장치에만 복사할 수 있으므로 속도가 매우 느려집니다.

4. 테이블이나 사용자가 복원할 수 없습니다.

가능하다면(주로 효율성을 기준으로) 정보를 디스크에 백업한 다음 데이터베이스를 시작하고(사용자가 작업할 수 있도록) 백업된 정보를 테이프에 복사합니다(복사하는 동안 데이터베이스도 작동할 수 있음).

콜드 백업에 복사해야 하는 파일에는

1, 모든 데이터 파일

2, 모든 제어 파일

3, 모든 온라인 REDO LOG 파일

4, Init.ora 파일(선택 사항)

이 포함됩니다.

데이터베이스가 닫혀 있을 때 콜드 백업을 수행해야 한다는 점에 유의할 필요가 있습니다. 데이터베이스가 열려 있는 경우 데이터베이스 파일 시스템 백업을 수행하는 것은 유효하지 않습니다.

데이터베이스의 핫 백업

핫 백업은 데이터베이스가 실행되는 동안 아카이브 로그 모드를 사용하여 데이터베이스를 백업하는 방법입니다. 즉, 핫 백업은 시스템이 정상적으로 작동 중일 때 백업하는 것입니다. 따라서 콜드 백업과 핫 백업 파일이 있으면 문제가 발생할 때 이러한 데이터를 사용하여 더 많은 정보를 복원할 수 있습니다. 핫 백업을 위해서는 데이터베이스가 Archivelog() 모드로 작동해야 하며 많은 양의 파일 공간이 필요합니다. 데이터베이스가 아카이브로그 상태로 실행되면 백업이 가능하다.

핫 백업 명령 파일은 세 부분으로 구성됩니다.

1. 데이터 파일, 테이블스페이스 및 테이블스페이스 백업.

(1) 테이블스페이스를 백업 상태로 설정

(2) 테이블스페이스의 데이터 파일을 백업합니다

(3) 테이블스페이스를 정상 상태로 복원

2. 아카이브 로그 파일 백업

(1) 아카이브 프로세스 임시 중지

(2) 아카이브 Rede 로그 대상 디렉터리에 파일 로깅

(3) 아카이브 프로세스 다시 시작

(4) 아카이브된 Redo 백업 로그 파일

3. alter Database bachup controlfile 명령을 사용하여 제어 파일 핫 백업을 백업할 때의 장점은 다음과 같습니다.

  • 테이블스페이스 또는 데이터베이스 파일 수준에서 백업할 수 있으며 백업 시간이 짧습니다.

  • 백업 중에도 데이터베이스를 계속 사용할 수 있습니다.

  • 2차 복구(특정 시점으로의 복구)가 가능합니다.

  • 거의 모든 데이터베이스 항목을 복원할 수 있습니다.

  • 복구 속도가 빠르고 대부분의 경우 데이터베이스는 계속 작동합니다.

핫 백업의 단점은 다음과 같습니다.

1. 실수하지 마세요. 그렇지 않으면 결과가 심각해질 것입니다

2. 핫 백업에 실패하면 얻은 결과를 특정 시점 복구에 사용할 수 없습니다

3. 유지 관리가 어렵기 때문에 매우 주의해야 하며 "실패로 끝나는" 일이 없도록 해야 합니다.

데이터베이스의 논리적 백업

논리적 백업은 소프트웨어 기술을 사용하여 데이터베이스에서 데이터를 내보내고 이를 출력 파일에 쓰는 것을 의미합니다. 파일 형식은 일반적으로 원본 데이터베이스의 형식과 다르며 원본 데이터베이스에 있는 데이터 내용의 이미지일 뿐입니다. . 따라서 논리적 백업 파일은 데이터베이스의 논리적 복구, 즉 데이터 가져오기에만 사용할 수 있으며, 데이터베이스의 원래 저장소 특성을 기반으로 한 물리적 복구에는 사용할 수 없습니다. 논리적 백업은 일반적으로 증분 백업, 즉 마지막 백업 이후 변경된 데이터를 백업하는 데 사용됩니다.

논리적 백업: 백업은 테이블 생성, 데이터베이스 생성, 삽입 등의 작업으로 실행되는 SQL 문(DDL DML DCL)입니다. 중소형 데이터베이스에 적합하며 상대적으로 효율성이 낮습니다.

**본질: **내보낸 ​​것은 SQL 문 파일입니다.

**장점:**어떤 스토리지 엔진에 관계없이 mysqldump를 사용하여 SQL 문을 준비할 수 있습니다.

**단점:**가져올 때 속도가 느립니다. 포맷이 호환되지 않아 증분 백업과 누적 증분 백업을 수행할 수 없는 예상치 못한 상황이 발생할 수 있습니다.

테이블 수준, 데이터베이스 수준 및 전체 데이터베이스 수준의 세 가지 백업 수준을 제공합니다.

참고:

  • 데이터가 일관되고 서비스를 사용할 수 있습니다. 데이터 일관성을 보장하는 방법, 백업 중에 테이블을 잠그면 자동으로 테이블을 잠그세요. 잠금 후 백업하세요.

本身为客户端工具:
远程备份语法: # mysqldump -h 服务器  -u用户名  -p密码   数据库名  > 备份文件.sql
本地备份语法: # mysqldump -u用户名  -p密码   数据库名  > 备份文件.sql

공통 백업 옵션

  • -A, --all-databases

모든 라이브러리 백업

예: mysqldump -uroot -p'QianFeng@123' -A &gt ; /opt/a.sqlmysqldump -uroot -p'QianFeng@123' -A > /opt/a.sql

解析:-A后面不需要指定东西,直接备份整个库

  • -B, –databases bbs test mysql

备份多个数据库

例:mysqldump -uroot -p'QianFeng@123' -B db1 db2 db3 > /opt/a.sql

解析:-B 后面可以跟多个数据库,使用空格隔开

导出指定表

例:mysqldump -uroot -p'QianFeng@123' db1 table1 table2 > /opt/a.sql

解析:如果不加-B,后面默认是 库名 表名 表名 ,后面的表必须是前面的库里面的,库名是唯一的,但是表名不是。

  • –no-data,-d

不导出任何数据,只导出数据库表结构。

例:mysqldump -uroot -p'QianFeng@123' db1 -d > /opt/a.sql

분석: -A 이후에는 아무것도 지정할 필요가 없습니다. 전체 라이브러리를 직접 백업하세요

-B, –databases bbs test mysql

🎜🎜여러 데이터베이스 백업 🎜🎜예: mysqldump -uroot -p'QianFeng@123' -B db1 db2 db3 > /opt/a.sql🎜🎜분석: -B 뒤에는 공백으로 구분된 여러 데이터베이스가 올 수 있습니다. 🎜🎜내보내기 테이블을 지정합니다🎜🎜예: mysqldump -uroot -p'QianFeng@123' db1 table1 table2 > /opt/a.sql🎜🎜분석: -B가 추가되지 않으면 기본값은 데이터베이스 이름과 테이블 이름이며, 다음 테이블은 이전 라이브러리에 있어야 하지만 테이블 이름은 고유하지 않습니다. 🎜🎜🎜🎜–no-data, -d🎜🎜🎜🎜은 데이터를 내보내지 않고 데이터베이스 테이블 구조만 내보냅니다. 🎜🎜예: mysqldump -uroot -p'QianFeng@123' db1 -d > /opt/a.sql🎜🎜분석: -d 백업할 데이터를 지정해야 합니다. -d 테이블의 구조만 내보내는 것을 의미합니다. 🎜🎜더 많은 관련 지식은 🎜FAQ🎜 칼럼을 방문해주세요! 🎜

위 내용은 데이터 백업 시 데이터베이스 상태에 따라 여러 가지 백업 방법이 있습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.