이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 27725|회답: 4

[출처] 리눅스 환경에서 원격 MySQL 데이터베이스를 정기적으로 백업하세요

[링크 복사]
게시됨 2021. 9. 30. 오후 2:42:47 | | | |
예약된 데이터베이스 백업은 모든 개발자가 반드시 시도해야 할 것이며, 정기적인 백업 데이터는 실수로 일부 데이터를 삭제하는 문제를 해결해 특정 시점으로 복원하고 손실을 최소화할 수 있습니다.

MySQL은 명령줄인 mysqldump에서 데이터베이스 데이터와 파일을 내보낼 수 있는 편리한 도구를 제공하며, mysqldump는 명령줄을 통해 데이터베이스를 내보낼 수 있습니다.

복습:

mysqldump는 데이터베이스 요약을 가져오기 및 내보내기
https://www.itsvse.com/thread-4353-1-1.html

Windows에서 MySQL을 사용해 자동으로 백업을 예약하세요
https://www.itsvse.com/thread-7412-1-1.html

[재출판] 리눅스에서 웹사이트와 데이터베이스용 스크립트를 정기적으로 백업합니다
https://www.itsvse.com/thread-4428-1-1.html

MySQL 데이터베이스 백업 및 내보내기
https://www.itsvse.com/thread-4004-1-1.html
이 문서는 사용됩니다센토OS 7환경 환경에서는 mysqldump를 통해 원격 데이터베이스를 로컬 데이터베이스에 백업합니다. mysqldump 명령을 직접 실행하면 오류는 다음과 같습니다:

-bash: mysqldump: 명령어를 찾을 수 없습니다
여기에는 Mydumper라는 오픈소스 서드파티 패키지가 추천되는데, Mydumper는 MySQL과 Drizzle용 고성능 멀티스레드 백업 및 복구 도구입니다. mysqldump 백업 속도와 복구 속도보다 빠릅니다.

GitHub 주소:하이퍼링크 로그인이 보입니다.

설치 명령은 다음과 같습니다:

리눅스 환경 기본 지식: RPM 패키지에서 EL6, EL7, EL8 설치의 차이점
https://www.itsvse.com/thread-10098-1-1.html
이렇게 하면 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 있습니다.

예정된 백업

참고 문서들은 다음과 같습니다:

CentOS 7은 crontab을 사용하여 일정한 간격으로 작업을 수행합니다
https://www.itsvse.com/thread-9280-1-1.html
다음과 같이 :backup_uat.sh라는 새로운 셸 스크립트를 만들어봅시다:

실행 권한 부여:


작업 추가

이 과제는 매일 오전 00시 10분에 수행됩니다



구성을 다시 불러오세요

(끝)





이전의:리눅스 환경 기본 지식: RPM 패키지에서 EL6, EL7, EL8 설치의 차이점
다음:RAID 기술 설명 - RAID0, RAID1, RAID3, RAID5, RAID6, RAID10 비교
 집주인| 게시됨 2021. 9. 30. 오후 5:03:15 |
백업 파일에서 데이터베이스 복원 테스트

-o, --overwrite-tables 복원할 테이블이 존재한다면, 먼저 테이블을 버리고 이 매개변수를 사용해 백업해야 할 때 테이블 구조를 백업하세요


이 명령은,새로 생성된 테이블과 데이터는 삭제되지 않습니다

게시됨 2021. 10. 2. 오후 4:58:15 |
열심히 공부하고 매일 실력을 향상시키고
 집주인| 게시됨 2022. 10. 19. 오후 9:07:56 |
[실제 전투]. NET/C#은 MySqlBackup.NET 기반 MySQL 데이터베이스 백업을 구현합니다
https://www.itsvse.com/thread-10375-1-1.html
게시됨 2022. 11. 15. 오후 6:19:56 |
배우세요
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com