Heim >Datenbank >MySQL-Tutorial >Verwenden Sie innobackupex, um eine MySQL-Master-Slave-Architektur basierend auf einer Slave-Datenbank zu erstellen

Verwenden Sie innobackupex, um eine MySQL-Master-Slave-Architektur basierend auf einer Slave-Datenbank zu erstellen

黄舟
黄舟Original
2017-02-15 10:43:201642Durchsuche



Es gibt viele Möglichkeiten, Master-Slave-MySQL zu erstellen, und die traditionelle mysqldump-Methode ist für viele Menschen eine der Möglichkeiten. Für größere Datenbanken ist diese Methode jedoch nicht die ideale Wahl. Verwenden Sie Xtrabackup, um schnell und einfach eine MySQL-Master-Slave-Architektur zu erstellen oder zu reparieren. In diesem Artikel wird beschrieben, wie Sie schnell einen Master-Slave basierend auf der vorhandenen Slave-Bibliothek erstellen, dh als neue Slave-Bibliothek der ursprünglichen Master-Bibliothek. Der Vorteil dieser Methode besteht darin, dass kein Leistungsdruck aufgrund des Sicherungszeitraums auf die Hauptdatenbank erforderlich ist. Während des Konstruktionsprozesses wurde die schnelle Streaming-Backup-Methode verwendet, um den Master-Slave-Aufbau zu beschleunigen, und mehrere Parameter zur Beschleunigung des Streaming-Backups wurden als Referenz beschrieben.


Informationen zum Streaming-Backup finden Sie unter: Xtrabackup-Streaming-Backup und -Wiederherstellung


1. Backup-Slave-Datenbank
###Die Gleichwertigkeitsüberprüfung wird während der Remote-Sicherung verwendet, daher sollte dies der Fall sein zuerst gemacht werden Entsprechende Konfiguration, hier verwenden wir den MySQL-Benutzer

$ 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"



###Der Parameter „safe-slave-backup“ wird während der Sicherung verwendet. Sie können sehen, dass der SQL-Thread nach Abschluss gestoppt und gestartet wird

$ 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



###Kopieren Sie die my.cnf-Datei auf den neuen Slave Bibliothek
2. Die Master-Bibliothek gewährt das neue Replikationskonto der Slave-Bibliothek

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



3. Bereiten Sie die neue Slave-Bibliothek vor
###Da Streaming-Komprimierungssicherung verwendet wird, muss sie zuerst dekomprimiert werden

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

http://www.php.cn/




# 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备份

4 Konfigurationsdatei my.cnf

### Ändern Sie die entsprechenden Parameter nach Bedarf . Die Änderungen hier sind wie folgt:
5 und Änderungsmaster ändern
# chown -R mysql:mysql /log/recover
# /app/soft/mysql/bin/mysqld_safe --defaults-file=/log/recover/my.cnf &

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


MySQL> Start Slave;

Abfrage OK, 0 Zeilen betroffen (0,02 Sek.)

mysql> system more /log/recover/xtrabackup_slave_info
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000658', MASTER_LOG_POS=925384099
mysql> CHANGE MASTER TO
    -> MASTER_HOST='172.16.16.10',       
### Author: Leshami
    -> MASTER_USER='repl',                    
 ### Blog  : 
http://www.php.cn/
    -> MASTER_PASSWORD='repl',
    -> MASTER_PORT=3306,
    -> MASTER_LOG_FILE='mysql-bin.000658',
    -> MASTER_LOG_POS=925384099;
Query OK, 0 rows affected, 2 warnings (0.31 sec)

6. Basierend auf Slave-Datenbank-Backup-bezogenen Parametern und beschleunigten Stream-Backup-Parametern



The --slave-info option This option is useful when backing up a replication slave server. It prints the binary
log position and name of the master server. It also writes this information to the xtrabackup_slave_info file
as a CHANGE MASTER statement.
This is useful for setting up a new slave for this master can be set up by starting a slave server on this backup and
issuing the statement saved in the xtrabackup_slave_info file.


Warnung: Stellen Sie sicher, dass Ihr Slave eine echte Nachbildung des Masters ist, bevor Sie ihn als Quelle für die Sicherung verwenden.
um einen Slave zu validieren pt-table-checksum.

The --safe-slave-backup option In order to assure a consistent replication state, this option stops the slave
SQL thread and wait to start backing up until Slave_open_temp_tables in SHOW STATUS is zero. If there are
no open temporary tables, the backup will take place, otherwise the SQL thread will be started and stopped until there
are no open temporary tables. The backup will fail if Slave_open_temp_tables does not become zero after
--safe-slave-backup-timeout seconds (defaults to 300 seconds). The slave SQL thread will be restarted
when the backup finishes.
Using this option is always recommended when taking backups from a slave server.


--compress


###Beachten Sie, dass die Komprimierungsmethode relativ grob ist. Komprimierungsmethode, komprimiert in .gp-Dateien, nicht so hoch wie die Gzip-Komprimierungsrate


--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)!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn