XtraBackup构建MySQL主从环境

林大鹏 2016-09-01

环境:HE3主库,HE1从库
HE1:192.168.1.248
HE3:192.168.1.250

从库my.cnf加入以下参数并重启数据库:
read_only=1
log_slave_updates=1(这里推荐开启,从库记录binlog)
 
主库授权备份账户
mysql>grant SELECT,RELOAD,SHOW DATABASES,SUPER,LOCKTABLES,REPLICATION CLIENT,SHOW VIEW,EVENT,FILE on *.*  to  'backup'@'localhost' identified by 'MANAGER';
mysql> flush privileges;

主库全库备份
innobackupex --no-timestamp --defaults-file=/etc/my.cnf --user=backup  --password=MANAGER --host=192.168.1.250 --port=3306 /databackup/xtrabackup/all-20160328-bak
 
拷贝主库备份文件到从库并解压查看pos号
[root@HE12016-04-03_18-25-12]# cat xtrabackup_binlog_info
mysql-bin.000007        317
备份集中的binlog日志到了mysql-bin.000007 偏移量position到了317
 
从库恢复成与主库全库备份数据一致
[root@HE1bin]# innobackupex --user=backup --host=127.0.0.1 --password=MANAGER --defaults-file=/etc/my.cnf --apply-log /data/2016-04-03_18-25-12
[root@HE1data]# mv 2016-04-03_18-25-12/ mysql
[root@HE1data]# chown -R mysql:mysql mysql
[root@HE1 bin]#/etc/init.d/mysqld start
 
主库:
建立主从复制的用户名和密码,指定哪个IP地址用户使用这个用户可以访问主库
mysql>  grant replication client,replication slave on *.* to 'mysync'@'192.168.1.248' identifiedby 'MANAGER';
mysql>flush privileges;
 
从库:
在从库配置读取主库的IP地址,复制的用户名和密码,从主库哪个BINLOG文件开始读取,偏移量是多少
mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.250',MASTER_USER='mysync',MASTER_PASSWORD='MANAGER',MASTER_PORT=3306,MASTER_LOG_FILE='mysql-bin.000007',MASTER_LOG_POS=317;
开启从库复制开关
mysql> start slave;
Query OK, 0 rowsaffected (0.30 sec)
mysql>show slave status\G;
 
至此,异步主从复制搭建成功。

更多XtraBackup相关教程见以下内容

相关推荐