Record a simple master-slave synchronization setting procedure for mysql for future use.
Record a simple master-slave synchronization setting procedure for mysql for future use.
Installation environment
Centos 1, 5.4
Mysql 5.1.xx is directly installed using rpm
Xtrabackup 1.2.22 directly installed with rpm
The Code is as follows:
[Mysqld]
Server-id = 1
Log-bin
Innodb_flush_log_at_trx_commit = 1
Sync_binlog = 1
Datadir =/var/lib/mysql
Character-set-server = utf8
Init_connect = 'set NAMES utf8'
If the default character set is set to utf8, you can choose this configuration as needed.
2. Slave:/etc/my. cnf
The Code is as follows:
[Mysqld]
Server-id = 2
Datadir =/var/lib/mysql
Character-set-server = utf8
Init_connect = 'set NAMES utf8'
3. Master: Set the slave user permissions for synchronization in the master database.
The Code is as follows:
Grant replication slave on *.*
TO' '@' '
Identified' ';
4. Master: export data to slave
Xtrabackup is used to back up mysql. The advantage is that the lock table time on the master node is very short and can be used in the actual production environment. xtrabackup automatically records the location of the synchronization log file.
The Code is as follows:
Sudo innobackupex-1.5.1 -- stream = tar/tmp/| ssh "Mkdir/tmp/db; tar xfi--C/tmp/db /"
In this step, the master data, including the entire table structure, is exported, compressed, copied to slave, and decompressed to the/tmp/db directory of slave.
5. Slave: import data to slave
The Code is as follows:
Innobackupex-1.5.1 -- apply-log/tmp/db
Innobackupex-1.5.1 -- copy-back/tmp/db
Chown-R mysql. mysql/var/lib/mysql /*
6. Slave: Start Data Synchronization
View/var/lib/mysql/xtrabackup_binlog_info to obtain the log file and position.
The Code is as follows:
CHANGE MASTER
MASTER_HOST =' ',
MASTER_USER =' ',
MASTER_PASSWORD =' ',
MASTER_LOG_FILE =' ',
MASTER_LOG_POS = ;
Start slave;
Original Source http://www.ooso.net/archives/547