XtraBackup构建MySQL主从环境的方法
环境: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;
至此,异步主从复制搭建成功。