>  기사  >  데이터 베이스  >  innobackupex를 사용하여 슬레이브 데이터베이스 기반 mysql 마스터-슬레이브 아키텍처 구축

innobackupex를 사용하여 슬레이브 데이터베이스 기반 mysql 마스터-슬레이브 아키텍처 구축

黄舟
黄舟원래의
2017-02-15 10:43:201626검색



마스터-슬레이브 MySQL을 구축하는 방법에는 여러 가지가 있으며, 전통적인 mysqldump 방법은 많은 사람들이 선택하는 방법 중 하나입니다. 그러나 대규모 데이터베이스의 경우 이 방법은 이상적인 선택이 아닙니다. Xtrabackup을 사용하면 mysql 마스터-슬레이브 아키텍처를 빠르고 쉽게 구축하거나 복구할 수 있습니다. 본 글에서는 기존 슬레이브 라이브러리를 기반으로 마스터-슬레이브, 즉 원본 마스터 라이브러리의 새로운 슬레이브 라이브러리를 빠르게 구축하는 방법을 설명합니다. 이 방법의 장점은 메인 데이터베이스의 백업 기간과 관련된 성능 압박이 필요 없다는 것입니다. 구성 과정에서 마스터-슬레이브 구성을 가속화하기 위해 빠른 스트리밍 백업 방법이 사용되었으며 스트리밍 백업을 가속화하기 위한 여러 매개 변수가 참조용으로 설명되었습니다.


스트리밍 백업에 대한 자세한 내용은 Xtrabackup 스트리밍 백업 및 복구


1. 슬레이브 데이터베이스 백업
###원격 백업 시에는 동등성 검증을 사용하므로 반드시 해당 구성을 먼저 완료하십시오. 여기서는 mysql 사용자

$ innobackupex --user=root --password=xxx --slave-info --safe-slave-backup 
\--compress-threads=3 --parallel=3 --stream=xbstream \--compress /log | ssh -p50021 mysql@172.16.16.10 "xbstream -x -C /log/recover"



### 백업 중에 safe-slave-backup 매개변수가 사용됩니다. SQL 스레드가 중지되었다가 완료 후 시작되는 것을 볼 수 있습니다

$ mysql -uroot -p -e "show slave status \G"|egrep 'Slave_IO_Running|Slave_SQL_Running'
Enter password: 
             Slave_IO_Running: Yes
            Slave_SQL_Running: No
      Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it



###my.cnf 파일을 새 슬레이브 라이브러리에 복사 2 . 마스터 라이브러리는 새로운 슬레이브 라이브러리 복사 계정을 부여합니다

$ scp -P50021 /etc/my.cnf mysql@172.16.16.10:/log/recover



3. 새로운 슬레이브 라이브러리 준비 >

###스트리밍 압축 백업을 사용하기 때문에 먼저 압축을 풀어야 합니다

###다운로드 주소
http://www.php.cn/


아아앙




4 슬레이브 구성 파일 my.cnf 준비



### 필요에 따라 해당 매개변수를 수정합니다.

master@MySQL> grant replication slave,replication client on *.* to repl@'172.16.%.%' identified by 'repl';

5. 슬레이브 라이브러리를 시작하고 Change Master를 수정합니다
# chown -R mysql :mysql /log/recover# /app/soft /mysql/bin/mysqld_safe --defaults-file=/log/recover/my.cnf &
# tar -xvf qpress-11-linux-x64.tar qpress# cp qpress /usr/bin/
$ innobackupex --decompress /log/recover                               
###解压$ innobackupex --apply-log --use-memory=2G /log/recover    
###prepare备份

mysql> ; 슬레이브 시작;쿼리 확인, 0행이 영향을 받음(0.02초)



6. 슬레이브 데이터베이스 백업 기준 관련 매개변수 및 가속 스트림 백업 매개변수

skip-slave-start
datadir = /log/recover
port = 3307
server_id = 24                     
socket = /tmp/mysql3307.sock
pid-file=/log/recover/mysql3307.pid
log_error=/log/recover/recover.err



아아아앙


경고: 꼭 확인하세요 슬레이브는 백업용 소스로 사용하기 전에 마스터의 실제 복제본입니다.
슬레이브를 검증하는 좋은 도구는 pt-table-checksum입니다.


--압축
                                                                          >


--compress-threads
     

   This option specifies the number of worker threads that will be used
        for parallel compression. It is passed directly to the xtrabackup
        child process. Try 'xtrabackup --help' for more details.



--decompress
     

   Decompresses all files with the .qp extension in a backup previously
        made with the --compress option.



 --parallel=NUMBER-OF-THREADS
     

   On backup, this option specifies the number of threads the        
   xtrabackup child process should use to back up files concurrently.        
   The option accepts an integer argument. It is passed directly to        
   xtrabackup's --parallel option. See the xtrabackup documentation for        
   details.
        On --decrypt or --decompress it specifies the number of parallel       
         forks that should be used to process the backup files.


以上就是使用innobackupex基于从库搭建mysql主从架构的内容,更多相关内容请关注PHP中文网(www.php.cn)!

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