No downtime Xtrabackup creating slave nodes

Source: Internet
Author: User
Tags crc32 percona

No downtime Xtrabackup creating slave nodes

Master: 10.1.1.17: 3306
Slave: 10.1.1.18: 3307
Complete the Basic Environment configuration of the slave node: Create mysql users, install mysql software of the same version, xtrabackup software package, create directories, and configure scripts.

1. Create a full backup: master
[Mysql @ master1 backup] $ innobackupex -- defaults-file =/data/mysqldata/3306/my. cnf -- user = xtrabk -- password = 'onlybackup '/backup/backup_full/

2. Copy and prepare backup Sets
[Mysql @ master1 backup_full] $ scp-r/backup/backup_full/2015-05-21_01-31-19/* 10.1.1.18:/data/mysqldata/3307
[Mysql @ master2 3307] $ innobackupex -- apply-log/data/mysqldata/3307/data/

InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003,200 9 Innobase Oy
And Percona Ireland Ltd 2009-2012. All Rights Reserved.

This software is published under
The gnu general public license Version 2, June 1991.

IMPORTANT: Please check that the apply-log run completes successfully.
At the end of a successful apply-log run innobackupex
Prints "completed OK! ".

150521 01:51:29 innobackupex: Starting ibbackup with command: xtrabackup_56 -- defaults-file = "/data/mysqldata/3307/data/backup-my.cnf" -- defaults-group = "mysqld" -- prepare -- target-dir =/data/mysqldata/3307/ data -- tmpdir =/tmp

Xtrabackup_56 version 2.0.7 for MySQL server 5.6.10 Linux (x86_64) (revision id: 552)
Xtrabackup: cd to/data/mysqldata/3307/data
Xtrabackup: This target seems to be not prepared yet.
Xtrabackup: xtrabackup_logfile detected: size = 2097152, start_lsn = (1645755)
Xtrabackup: Temporary instance for recovery is set as followings.
Xtrabackup: innodb_data_home_dir = ./
Xtrabackup: innodb_data_file_path = ibdata1: 2048 M: autoextend
Xtrabackup: innodb_log_group_home_dir = ./
Xtrabackup: innodb_log_files_in_group = 1
Xtrabackup: innodb_log_file_size = 2097152
Xtrabackup: Temporary instance for recovery is set as followings.
Xtrabackup: innodb_data_home_dir = ./
Xtrabackup: innodb_data_file_path = ibdata1: 2048 M: autoextend
Xtrabackup: innodb_log_group_home_dir = ./
Xtrabackup: innodb_log_files_in_group = 1
Xtrabackup: innodb_log_file_size = 2097152
Xtrabackup: Starting InnoDB instance for recovery.
Xtrabackup: Using 104857600 bytes for buffer pool (set by -- use-memory parameter)
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use GCC atomic builtins
InnoDB: Compressed tables use zlib 1.2.3
InnoDB: CPU supports crc32 instructions
InnoDB: Initializing buffer pool, size = 100.0 M
InnoDB: Completed initialization of buffer pool
InnoDB: Highest supported file format is Barracuda.
InnoDB: The log sequence numbers 1639650 and 1639650 in ibdata files do not match the log sequence number 1645755 in the ib_logfiles!
InnoDB: Database was not shutdown normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the. ibd files...
InnoDB: Restoring possible half-written data pages
InnoDB: from the doublewrite buffer...
InnoDB: Last MySQL binlog file position 0 812, file name mysql-bin.000011
InnoDB: 128 rollback segment (s) are active.
InnoDB: Waiting for purge to start
2015-05-21 01:51:31 4a924940 InnoDB: Warning: table 'mysql/innodb_index_stats'
InnoDB: in InnoDB data dictionary has unknown flags 50.
2015-05-21 01:51:31 4a924940 InnoDB: Warning: table 'mysql/innodb_table_stats'
InnoDB: in InnoDB data dictionary has unknown flags 50.
InnoDB: 1.2.10 started; log sequence number 1645755

[Notice (again)]
If you use binary log and don't use any hack of group commit,
The binary log position seems to be:
InnoDB: Last MySQL binlog file position 0 812, file name mysql-bin.000011

Xtrabackup: starting shutdown with innodb_fast_shutdown = 1
InnoDB: FTS optimize thread exiting.
InnoDB: Starting shutdown...
InnoDB: Shutdown completed; log sequence number 1645779

150521 01:51:33 innobackupex: Restarting xtrabackup with command: xtrabackup_56 -- defaults-file = "/data/mysqldata/3307/data/backup-my.cnf" -- defaults-group = "mysqld" -- prepare -- target-dir =/data/mysqldata/3307/ data -- tmpdir =/tmp
For creating ib_logfile *

Xtrabackup_56 version 2.0.7 for MySQL server 5.6.10 Linux (x86_64) (revision id: 552)
Xtrabackup: cd to/data/mysqldata/3307/data
Xtrabackup: This target seems to be already prepared.
Xtrabackup: notice: xtrabackup_logfile was already used to '-- prepare '.
Xtrabackup: Temporary instance for recovery is set as followings.
Xtrabackup: innodb_data_home_dir = ./
Xtrabackup: innodb_data_file_path = ibdata1: 2048 M: autoextend
Xtrabackup: innodb_log_group_home_dir = ./
Xtrabackup: innodb_log_files_in_group = 3
Xtrabackup: innodb_log_file_size = 268435456
Xtrabackup: Temporary instance for recovery is set as followings.
Xtrabackup: innodb_data_home_dir = ./
Xtrabackup: innodb_data_file_path = ibdata1: 2048 M: autoextend
Xtrabackup: innodb_log_group_home_dir = ./
Xtrabackup: innodb_log_files_in_group = 3
Xtrabackup: innodb_log_file_size = 268435456
Xtrabackup: Starting InnoDB instance for recovery.
Xtrabackup: Using 104857600 bytes for buffer pool (set by -- use-memory parameter)
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use GCC atomic builtins
InnoDB: Compressed tables use zlib 1.2.3
InnoDB: CPU supports crc32 instructions
InnoDB: Initializing buffer pool, size = 100.0 M
InnoDB: Completed initialization of buffer pool
InnoDB: Setting log file./ib_logfile101 size to 256 MB
InnoDB: Progress in MB: 100 200
InnoDB: Setting log file./ib_logfile1 size to 256 MB
InnoDB: Progress in MB: 100 200
InnoDB: Setting log file./ib_logfile2 size to 256 MB
InnoDB: Progress in MB: 100 200
InnoDB: Renaming log file./ib_logfile101 to./ib_logfile0
InnoDB: New log files created, LSN = 1645779
InnoDB: Highest supported file format is Barracuda.
InnoDB: 128 rollback segment (s) are active.
InnoDB: Waiting for purge to start
2015-05-21 01:52:00 4a5b4940 InnoDB: Warning: table 'mysql/innodb_index_stats'
InnoDB: in InnoDB data dictionary has unknown flags 50.
2015-05-21 01:52:00 4a5b4940 InnoDB: Warning: table 'mysql/innodb_table_stats'
InnoDB: in InnoDB data dictionary has unknown flags 50.
InnoDB: 1.2.10 started; log sequence number 1646092

[Notice (again)]
If you use binary log and don't use any hack of group commit,
The binary log position seems to be:
InnoDB: Last MySQL binlog file position 0 812, file name mysql-bin.000011

Xtrabackup: starting shutdown with innodb_fast_shutdown = 1
InnoDB: FTS optimize thread exiting.
InnoDB: Starting shutdown...
InnoDB: Shutdown completed; log sequence number 1646102
150521 01:52:01 innobackupex: completed OK!

[Mysql @ master2 3307] $ ls data/
Backup-my.cnf ib_logfile2 performance_schema xtrabackup_binlog_info xtrabackup_logfile
Ib_logfile0 ibdata1 test xtrabackup_binlog_pos_innodb
Ib_logfile1 mysql xtrabackup_binary xtrabackup_checkpoints
[Mysql @ master2 3307] $ ls data/test/
J1.frm j1.ibd j2.MYD j2.MYI j2.frm t1.frm t1.ibd

3. Create a dedicated account for the replication Environment
Master:
(System @ localhost) [(none)]> grant replication slave on *. * to 'repl' @ '10. 1.1.% 'identified by 'replsafe ';
Query OK, 0 rows affected (0.09 sec)


(System @ localhost) [(none)]> select user, host from mysql. user;
+ -------- + ----------- +
| User | host |
+ -------- + ----------- +
| Dcw | % |
| Repl | 10.1.1.% |
| Test | 10.1.1.% |
| System | localhost |
| Xtrabk | localhost |
+ -------- + ----------- +

4. Configure the slave node initialization parameter file
[Mysql @ master1 3306] $ scp my. cnf 10.1.1.18:/data/mysqldata/3307
[Mysql @ master2 ~] $ Vim/data/mysqldata/3307/my. cnf
Server-id = 2
[Mysql @ master2 ~] $ Sed-I's/3306/3307/3307/G'/data/mysqldata/my. cnf
[Mysql @ master2 ~] $ Mysqld_safe -- defaults-file =/data/mysqldata/3307/my. cnf &
The slave node creates fewer tmp and binlog folders.
[Mysql @ master2 3307] $ mkdir tmp
[Mysql @ master2 3307] $ mkdir binlog
[Mysql @ master2 3307] $ ls
Binlog data lost + found my. cnf mysql-error.log tmp
Start Database
[Mysql @ master2 3307] $ mysqld_safe -- defaults-file =/data/mysqldata/3307/my. cnf &

5. Configure the server Load balancer node replication Environment
View the backup set information:
[Mysql @ master2 3307] $ cat data/xtrabackup_binlog_info
Mysql-bin.000011 812
[Mysql @ master2 3307] $ mysql-usystem-p '5ienet. com'-S/data/mysqldata/3307/mysql. sock
(System @ localhost) [(none)]> change master to master_host = '10. 1.1.17 ', master_port = 3306, master_user = 'repl', master_password = 'replsafe', master_log_file = 'mysql-bin.000011 ', master_log_pos = 812;
Query OK, 0 rows affected, 2 warnings (0.09 sec)
(System @ localhost) [(none)]> start slave;
Query OK, 0 rows affected (0.14 sec)

6. Check
(System @ localhost) [(none)]> start slave;
Query OK, 0 rows affected (0.14 sec)


(System @ localhost) [(none)]> show slave status \ G
* *************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.1.1.17
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000011
Read_Master_Log_Pos: 1024
Relay_Log_File: mysql-relay-bin.000002
Relay_Log_Pos: 495
Relay_Master_Log_File: mysql-bin.000011
Slave_IO_Running: Yes
Slave_ SQL _Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 1024
Relay_Log_Space: 668
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_ SQL _Errno: 0
Last_ SQL _Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
Master_UUID: bd8ce1ca-edb7-11e4-964f-000c291b94c4
Master_Info_File:/data/mysqldata/3307/data/master.info
SQL _Delay: 0
SQL _Remaining_Delay: NULL
Slave_ SQL _Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_ SQL _Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
1 row in set (0.03 sec)

 


Master:
(System @ localhost) [(none)]> use test;
Database changed
(System @ localhost) [test]> show tables;
+ ---------------- +
| Tables_in_test |
+ ---------------- +
| J1 |
| J2 |
| T1 |
+ ---------------- +
3 rows in set (0.00 sec)


(System @ localhost) [test]> select * from t1;
+ ------ +
| Name |
+ ------ +
| Dcw |
| Jjf |
+ ------ +
2 rows in set (0.11 sec)


Slave:
(System @ localhost) [(none)]> use test;
Database changed
(System @ localhost) [test]> show tables;
+ ---------------- +
| Tables_in_test |
+ ---------------- +
| J1 |
| J2 |
| T1 |
+ ---------------- +
3 rows in set (0.03 sec)


(System @ localhost) [test]> select * from t1;
+ ------ +
| Name |
+ ------ +
| Dcw |
| Jjf |
+ ------ +
2 rows in set (0.05 sec)

Insert data to the master:
(System @ localhost) [test]> insert into t1 values ('jone ');
Query OK, 1 row affected (0.05 sec)

Query in slave: synced
(System @ localhost) [test]> select * from t1;
+ ------ +
| Name |
+ ------ +
| Dcw |
| Jjf |
| Jone |
+ ------ +
3 rows in set (0.00 sec)

MySQL management-using XtraBackup for Hot Backup

MySQL open-source backup tool Xtrabackup backup deployment

MySQL Xtrabackup backup and recovery

Use XtraBackup to implement MySQL master-slave replication and quick deployment [master-slave table lock-free]

Install and use Xtrabackup from Percona to back up MySQL

XtraBackup details: click here
XtraBackup: click here

This article permanently updates the link address:

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.