아래 편집자는 단일 테이블의 백업 및 복원을 위해 mysql에 대해 간략하게 설명합니다. 편집자님이 꽤 좋다고 생각하셔서 지금 공유하고 모두에게 참고용으로 드리고자 합니다. 편집기를 따라 살펴보겠습니다
A. MySQL 백업 도구 xtrabackup 설치
1. percona 공식 xtrabackup의 바이너리 버전입니다. ; 바이너리 버전을 압축해제하여 사용할 수 있습니다.
2. xtrabackup 압축 풀기 및 연결 만들기
tar -xzvf percona-xtrabackup-2.3.4- Linux -x86_64.tar.gz -C /usr/local/ ln -s /usr/local/percona-xtrabackup-2.3.4 /usr/local/xtrabackup
3. PATH 환경 설정 변수
export PATH=/usr/local/xtrabackup/bin/:$PATH
B. mysql 데이터베이스
에서 사용자 백업 사용자 및 권한을 생성합니다. 1
create user backuper@'localhost' ident if ied by 'backup123'; create user backuper@'127.0.0.1' identified by 'backup123';
2. 인증
grant reload,lock tables,replication client,process, super on *.* to 'backuper'@'localhost'; grant create,insert,select on percona_schema.xtrabackup_history to 'backuper'@'localhost'; grant reload,lock tables,replication client,process,super on *.* to 'backuper'@'127.0.0.1'; grant create,insert,select on percona_schema.xtrabackup_history to 'backuper'@'127.0.0.1';
C. 백업 전 확인 이 단계의 주요 목적은 나중에 복원 작업을 수행할 때 복원이 유효한지 확인하는 것입니다. ;(제작에는 그런 단계가 없습니다.
1.
select * from tempdb.dictmajor; select * from dictmajor; +--------------+-----------------+ | column_value | column_mean | +--------------+-----------------+ | 1 | 汉语言文学 | | 2 | 精算 | | 3 | 生物制药 | | 4 | 材料化学 | | 5 | 商务英语 | | 6 | 考古 | | 7 | 外交 | | 8 | 导游 | +--------------+-----------------+
D. tempdb.dictmajor 테이블 백업
1. 백업 명령
innobackupex --host=127.0.0.1 --user=backuper --password=backup123 --port=3306 --include='tempdb.dictmajor' /tmp/tempdb
2. 백업이 완료되면 현재 파일이 생성됩니다. 디렉터리(/tmp/tempdb) 시간으로 명명된 디렉터리에는 백업 파일
tree /tmp/tempdb/ /tmp/tempdb/ └── 2016-09-10_18-25-16 ├── backup-my.cnf ├── ibdata1 ├── tempdb │ ├── dictmajor.frm │ └── dictmajor.ibd ├── xtrabackup_binlog_info ├── xtrabackup_checkpoints ├── xtrabackup_info └── xtrabackup_logfile
tempdb.dictmajor 테이블이 포함되어 있습니다(테이블 정의는 여기에 저장되어야 합니다. 복원 시 사용)
mysql>drop table tempdb.dictmajor;
1. 롤포워드 & 롤백 로그
innobackupex --apply-log --export /tmp/tempdb/2016-09-10_18-25-16/
tree /tmp/tempdb/ /tmp/tempdb/ └── 2016-09-10_18-25-16 ├── backup-my.cnf ├── ibdata1 ├── ib_logfile0 ├── ib_logfile1 ├── tempdb │ ├── dictmajor.cfg │ ├── dictmajor.exp │ ├── dictmajor.frm │ └── dictmajor.ibd ├── xtrabackup_binlog_info ├── xtrabackup_binlog_pos_innodb ├── xtrabackup_checkpoints ├── xtrabackup_info └── xtrabackup_logfile
아아아아
2. tempdb.dictmajor의 테이블스페이스 파일 create table dictmajor(
column_value tinyint not null,
column_mean varchar(32) not null,
constraint pkdictmajor primary key (column_value));
alter table tempdb.dictmajor discard tablespace;
4. 테이블스페이스 파일 가져오기
cp /tmp/tempdb/2016-09-10_18-25-16/tempdb/dictmajor.ibd /usr/local/mysql/data/tempdb/
cp /tmp/tempdb/2016-09-10_18-25-16/tempdb/dictmajor.exp /usr/local/mysql/data/tempdb/
cp /tmp/tempdb/2016-09-10_18-25-16/tempdb/dictmajor.cfg /usr/local/mysql/data/tempdb/
chown -R mysql:mysql /usr/local/mysql/data/tempdb/*
5. dictmajor 테이블 복구 상태 확인
아아앙
이전 섹션에서는 xtrabackup을 사용하여 테이블을 백업했습니다. 해당 응용 시나리오는 데이터 볼륨입니다. 즉, 현재 시나리오에서는 간단한
백업 도구도 요구 사항을 충족할 수 있습니다. 🎜>
이제 mysqldump 백업의 일반 단계가 제공됩니다.
alter table tempdb.dictmajor import tablespace;
B: tempdb.dictmajor 테이블 백업
1. select * from dictmajor;
+--------------+-----------------+
| column_value | column_mean |
+--------------+-----------------+
| 1 | 汉语言文学 |
| 2 | 精算 |
| 3 | 生物制药 |
| 4 | 材料化学 |
| 5 | 商务英语 |
| 6 | 考古 |
| 7 | 外交 |
| 8 | 导游 |
+--------------+-----------------+
C: 백업된 테이블 삭제
1.
create user dumper@'127.0.0.1' identified by 'dumper123'; grant select on *.* to dumper@'127.0.0.1'; grant show view on *.* to dumper@'127.0.0.1'; grant lock tables on *.* to dumper@'127.0.0.1'; grant trigger on *.* to dumper@'127.0.0.1';
아아앙E: 복원 효과 검증
1.dictmajor에서 *를 선택하세요. 위 내용은 단일 테이블의 백업 및 복원을 위한 mysql 샘플 코드에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!mysqldump --host=127.0.0.1 --port=3306 --user=dumper --password=dumper123 --quick tempdb dictmajor >/tmp/tempdb.dictmajor.sql