|
|
게시됨 2021. 9. 30. 오후 2:42:47
|
|
|
|

예약된 데이터베이스 백업은 모든 개발자가 반드시 시도해야 할 것이며, 정기적인 백업 데이터는 실수로 일부 데이터를 삭제하는 문제를 해결해 특정 시점으로 복원하고 손실을 최소화할 수 있습니다.
MySQL은 명령줄인 mysqldump에서 데이터베이스 데이터와 파일을 내보낼 수 있는 편리한 도구를 제공하며, mysqldump는 명령줄을 통해 데이터베이스를 내보낼 수 있습니다.
복습:
이 문서는 사용됩니다센토OS 7환경 환경에서는 mysqldump를 통해 원격 데이터베이스를 로컬 데이터베이스에 백업합니다. mysqldump 명령을 직접 실행하면 오류는 다음과 같습니다:
-bash: mysqldump: 명령어를 찾을 수 없습니다 여기에는 Mydumper라는 오픈소스 서드파티 패키지가 추천되는데, Mydumper는 MySQL과 Drizzle용 고성능 멀티스레드 백업 및 복구 도구입니다. mysqldump 백업 속도와 복구 속도보다 빠릅니다.
GitHub 주소:하이퍼링크 로그인이 보입니다.
설치 명령은 다음과 같습니다:
이렇게 하면 mydumper와 myloader 명령어를 모두 사용할 수 있으며, mydumper는 내보내기를, myloader는 가져오기를 담당합니다. 아래 그림에서 볼 수 있습니다:
마이덤퍼매개변수 설명
-B, --데이터베이스 백업할 데이터베이스, 명시하지 않으면 모든 라이브러리를 백업합니다 -T, --tables-list 백업해야 할 테이블들은 쉼표로 구분되어 있습니다 -o, --outputdir 파일을 출력하는 디렉터리를 백업하기 위해 -s, --statement-size -statement-size에 의해 생성되는 삽입 문장 바이트 수는 기본값으로 1000000입니다 -r, --행 테이블을 행으로 나눌 때는 블록 행 수를 지정하며, 이 옵션을 지정하면 --chunk-filesize 기능이 꺼집니다 -F, --청크-파일 크기 테이블을 크기로 청킹할 때, 지정된 블록 크기(MB) -c, --압축 압축 출력 파일 압축 -e, --build-empty-files 테이블 데이터가 비어 있거나 빈 파일이 생성되면 (기본적으로 데이터는 없고 테이블 구조 파일만 생성됨) -x, --regex는 'db.table'에 맞는 정규 표현식과 동일합니다. -i, --무시-엔진은 저장 엔진을 무시하고 두꺼운 분할을 사용합니다 -m, --no-schema는 테이블 구조를 백업하지 않습니다 -k, --no-lock은 임시 공유 읽기 전용 잠금을 사용하지 않으며, 이 옵션을 사용하면 데이터 불일치가 발생합니다 --락킹 감소는 InnoDB 테이블에 락을 적용하는 데 걸리는 시간을 줄여줍니다(이 패턴의 메커니즘은 아래에서 자세히 설명됩니다) -l, --long-query-guard 백업을 차단하는 긴 쿼리의 타임아웃 시간을 초 단위로 설정하며, 기본값은 60초입니다(타임아웃 후 mydumper는 기본적으로 종료됩니다). --kill-long-queries 긴 쿼리를 종료하지 않고 종료합니다 -b, --binlogs 내보내기 binlogs -D, --daemon은 데몬 모드를 활성화하여 특정 간격으로 데이터베이스를 중단 없이 백업합니다 -I, --snapshot-interval dump 스냅샷 간격 시간, 기본값 60초, 데몬 모드여야 합니다 -L, --logfile은 로그 파일 이름(mydumper에서 생성된 로그)을 사용하며, 기본적으로 표준 출력을 사용합니다 --시간대를 넘나드는 TZ-UTC는 설명이 아닌 선택지입니다 --skip-tz-utc ID --use-savepoints 저장 메타데이터 수집으로 인한 잠금 시간을 줄이기 위해 세이브포인트 사용, 이 경우 SUPER 권한이 필요합니다 --success-on-1146 증가 오류 카운트와 Warning 대신 Table이 존재하지 않는 경우에 오류 수와 Warning이 없습니다 -h, --호스트 연결의 호스트네임 -u, --user 백업 사용자 -p, --비밀번호 비밀번호 -P, --포트 포트 -S, --소켓 소켓 통신 시 소켓 파일 -t, --스레드 기본 활성화된 백업 스레드 수는 4개입니다 -C, --compress-protocol은 mysql과 통신하는 데이터를 압축합니다 -V, --버전 버전 번호를 표시합니다 -v, --verbose 출력 정보 패턴, 0 = 무음, 1 = 오류, 2 = 경고, 3 = 정보, 기본값은 2 마이로더매개변수 설명
-d, --백업 파일을 위한 디렉터리 -q, --트랜잭션당 쿼리 기본적으로 실행되는 쿼리 수는 1000개입니다 -o, --overwrite-tables 복원할 테이블이 존재한다면, 먼저 테이블을 버리고 이 매개변수를 사용해 백업해야 할 때 테이블 구조를 백업하세요 -B, --데이터베이스 복원해야 할 데이터베이스 -e, --enable-binlog가 이진 로그를 복원할 수 있게 합니다 -h, --호스트 -u, --사용자가 복구되었습니다 -p, --비밀번호 비밀번호 -P, --포트 포트 -S, --소켓 소켓 파일 -t, --threads는 사용된 스레드 수를 복원하며, 기본값은 4입니다 -C, --압축-프로토콜 -V, --버전 버전은 -v, --verbose 출력 모드, 0 = 무음, 1 = 오류, 2 = 경고, 3 = 정보, 기본값은 2 테스트 백업
데이터베이스 내보내기 명령어는 다음과 같습니다:
실행 후 mydumper는 지정된 디렉터리 주소를 생성하여 매개변수를 통과시키는데, 이 주소에는 백업 시점의 이진 로그 파일 이름과 기록된 위치를 기록하는 메타데이터 파일이 포함되어 있습니다. 각 테이블은 테이블 구조 파일과 테이블 데이터 파일 database.table.sql 두 개의 백업 files:database.table-schema.sql 있습니다.
예정된 백업
참고 문서들은 다음과 같습니다:
다음과 같이 :backup_uat.sh라는 새로운 셸 스크립트를 만들어봅시다:
실행 권한 부여:
작업 추가
이 과제는 매일 오전 00시 10분에 수행됩니다
구성을 다시 불러오세요
(끝)
|
이전의:리눅스 환경 기본 지식: RPM 패키지에서 EL6, EL7, EL8 설치의 차이점다음:RAID 기술 설명 - RAID0, RAID1, RAID3, RAID5, RAID6, RAID10 비교
|