my sql 데이터베이스 백업 의 다양한 실현 방식 요약

본 고의 실례 는 mysql 데이터베이스 백업 의 다양한 실현 방식 을 설명 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
1.my sqldump 를 사용 하여 백업 합 니 다.
1.모든 데이터 베 이 스 를 완전 백업

mysqldump -u root -p --all-databases > E:/all.sql

my sql 8 이전에 저장 과정 과 사건 은 my sql.proc 와 my sql.event 표 에 저 장 됩 니 다.
my sql 8 부터 해당 대상 의 정 의 는 데이터 사전 에 저장 되 어 있 으 며 이 표 들 은 백업 되 지 않 습 니 다.
저장 프로 세 스 와 이벤트 도 포함 하려 면 다음 문 구 를 사용 하 십시오.

mysqldump -u root -p --all-databases --routines --events > E:/all.sql

2.시점 회복
복구 시간 을 얻 으 려 면--single-transaction 과--master-data 를 지정 해 야 합 니 다.
--single-transaction 은 백업 에 앞서 트 랜 잭 션 격 리 단 계 를 REPEATABLE READ 모드 로 설정 하고 START TRANSACTION 을 실행 해 일 치 된 백업 을 제공한다.
--master-data 는 서버 의 바 이 너 리 로그 위 치 를 sql 파일 로 출력 합 니 다.
mysqldump -u root -p --all-databases --routines --events --single-transaction --master-data > E:/all.sql
--master-data=2 는 내 보 내기 과정 에서 현재 라 이브 러 리 의 binlog 와 pos 점 을 기록 하고 내 보 내기 파일 에 이 줄 을 주석 하 는 것 을 나타 낸다.
--master-data=1 은 내 보 내 는 과정 에서 현재 라 이브 러 리 의 binlog 와 pos 점 을 기록 하고 내 보 내기 파일 에 이 줄 을 설명 하지 않 는 다 는 뜻 이다.
3.라 이브 러 리 에서 내 보 낼 때 메 인 라 이브 러 리 의 바 이 너 리 로그 위 치 를 기록 합 니 다.
mysqldump -u root -p --all-databases --routines --events --single-transaction --dump-slave > E:/all.sql
--dump-slave=2 는 내 보 내기 과정 에서 메 인 라 이브 러 리 의 binlog 와 pos 점 을 기록 하고 내 보 내기 파일 에 이 줄 을 주석 하 는 것 을 나타 낸다.
--dump-slave=1 은 내 보 내 는 과정 에서 메 인 라 이브 러 리 의 binlog 와 pos 점 을 기록 하고 내 보 내기 파일 에 이 줄 을 설명 하지 않 는 다 는 뜻 이다.
4.지정 한 데이터베이스 와 표 내 보 내기

mysqldump -u root -p --databases     > E:/bak.sql
mysqldump -u root -p --databases     --tables     > E:/bak.sql
5.무시 표
mysqldump-u root-p--databases 데이터베이스--ignore-table=데이터베이스.데이터 시트>E:/bak.sql
6.지정 줄
mysqldump-u root-p--databases 데이터베이스--tables 데이터 시트--where="조건">E:/bak.sql
혹은 limit 으로 결과 집합 을 제한 합 니 다.
mysqldump-u root-p--databases 데이터베이스--tables 데이터 테이블--where="조건 LIMIT 개수">E:/bak.sql
7.원 격 서버 내 보 내기
mysqldump-u root-p-h 호스트 IP--all-databases--routines--events--triggers>E:/all.sql
8.다른 서버 와 데 이 터 를 통합 하 는 데 사용 되 는 백업
mysqldump-u root-p--databases 데이터베이스--skip-add-drop-table--replace>E:/bak.sql
--skip-add-drop-table:내 보 내기 파일 에 drop table 문 구 를 쓰 지 않 습 니 다.
--replace:insert 구문 대신 replace into 문 구 를 사용 하여 내 보 냅 니 다.
2.my sqlpump 를 사용 하여 백업 합 니 다.
1.병행 처리,지정 한 스 레 드 수량 을 통 해 백업 과정 가속 화

mysqlpump --default-parallelism=8 > E:/all.sql
2.각 데이터베이스 의 스 레 드 수 를 지정 할 수 있 습 니 다.
mysqlpump-u root-p--parallel-schemas=4:데이터베이스--default-parallelism=2>E:/all.sql
3.데이터베이스 제외 또는 포함

mysqlpump -u root -p --include-databases=%t > E:/bak.sql
t 로 끝 나 는 모든 데이터 베 이 스 를 백업 하고 여러 데이터 베 이 스 를 쉼표 로 구분 하 며 데이터베이스 이름 은%또는 을 사용 할 수 있 습 니 다.어댑터.
이외에 도 유사 한--include-events,--include-routines,--include-tables,--include-triggers,--include-users 등 이 있다.

mysqlpump -u root -p --exclude-databases=a% > E:/bak.sql
a 로 시작 하 는 데이터 베 이 스 를 백업 하 는 것 을 제외 하고 여러 데이터 베 이 스 는 쉼표 로 구분 되 며 데이터 베 이 스 는%또는 을 사용 할 수 있 습 니 다.어댑터.
이외에 도--exclude-events,--exclude-routines,--exclude-tables,--exclude-triggers,--exclude-users 등 이 있다.
4.백업 사용자

mysqlpump -u root -p --exclude-databases=% --users > E:/user.sql
--exclude-users 를 통 해 일부 사용 자 를 제거 할 수 있 습 니 다.
mysqlpump --exclude-databases=% --exclude-users=root --users > E:/user.sql
5.압축 백업
사용--copress-output=lz4 또는--copress-output=zlib

mysqlpump -u root -p --compress-output=lz4 > E:/all.lz4
mysqlpump -u root -p --compress-output=zlib > E:/all.zlib
아래 문장 을 통 해 압력 을 풀다

lz4_decompress E:/all.lz4 all.sql
zlib_decompress E:/all.zlib all.sql
3.my dumper 를 사용 하여 백업 합 니 다.
my dumper 는 따로 설치 해 야 합 니 다.홈 페이지:https://github.com/maxbube/mydumper/releases
1.완전 백업

mydumper -u root --password=   --outputdir     
2.단독 테이블 백업
mydumper-u root--password=암호-B 데이터베이스-T 데이터 시트--triggers--events--routines--outputdir 내 보 내기 경로
3.정규 표현 식 을 사용 하여 특정 데이터 베 이 스 를 백업 합 니 다.
mydumper-u root--passoword=비밀번호--regex'^(?!(mysql|test)'--outputdir 내 보 내기 경로
백업 에서 my sql 과 test 데이터 베 이 스 를 제거 합 니 다.
4.백업 테이블
mydumper-u root--password=암호-B 데이터베이스-T 데이터 시트--triggers--events--routines--rows=100000-t 8--trx-consistency-only--outputdir 내 보 내기 경로
--rows 는 시 계 를 몇 줄 로 나 누 는 지 를 나타 낸다
--trx-consistency-only 가 innodb 라면 잠 금 을 최소 화 합 니 다.
-t 지정 스 레 드 수량
5.압축 백업
mydumper-u root--password=암호-B 데이터베이스-T 데이터 시트-t 8--trx-consistency-only--compress--outputdir 내 보 내기 경로
6.데이터 만 백업
--no-schemas 옵션 을 통 해 schema 를 건 너 뛰 고 데이터 만 백업 합 니 다.
mydumper-u root--password=암호-B 데이터베이스-T 데이터 시트-t 8--no-schemas--compress--trx-consistency-only--outputdir 내 보 내기 경로
4.일반 파일 로 백업
데이터 디 렉 터 리 에 있 는 파일 을 직접 복사 하여 백업 할 수 있 습 니 다.my sql 을 닫 고 파일 을 복사 한 다음 my sql 을 시작 해 야 합 니 다.
5.xtrabackup 을 사용 하여 백업 합 니 다.
https://www.percona.com/downloads/XtraBackup/LATEST/
1.전량 백업
xtrabackup--defaults-file=/etc/my.cnf--host=호스트 IP--user=사용자 이름--password=비밀번호--port=포트--backup--parallel=3--target-dir=백업 디 렉 터 리
--defaults-file 데이터베이스 설정 파일
--backup 백업 작업 수행
--parallel 백업 시 동시 다발 적 인 스 레 드 수
--target-dir 백업 파일 의 디 렉 터 리
2.증분 백업
xtrabackup --defaults-file=/etc/my.cnf \
--host=호스트 IP\
--user=사용자 이름\
--password=비밀번호\
--port=3306 \
--backup \
--parallel=3 \
--target-dir=증분 백업 디 렉 터 리\
--incremental-basedir=전량 백업 디 렉 터 리\
증분 백업 은 전체 백업 을 기반 으로 합 니 다.-incremental-basedir 는 전체 백업 디 렉 터 리 를 가리 키 고 있 습 니 다.
더 많은 MySQL 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.,,,,,,,
본 논문 에서 말 한 것 이 여러분 의 MySQL 데이터베이스 계획 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기