使用xtrabackup进行Mysql不锁表主从复制
2016-08-08 16:08
579 查看
Xtrabackup 是percona公司的开源项目,用以实现类似innodb官方的热备份工具InnoDB Hot Backup的功能,能够非常快速地备份与恢复MySQL数据库。 Xtrabackup中包含两个工具:xtrabackup是用于热备份innodb, xtradb表中数据的工具,不能备份其他类型的表,也不能备份数据表结构;innobackupex是将xtrabackup进行封装的perl脚本,提供了备份myisam表的能力。一、安装1.配置Yum源rpm -Uhv http://www.percona.com/downloads/percona-release/percona-release-0.0-1.x86_64.rpm href="http://www.percona.com/downloads/percona-release/percona-release-0.0-1.x86_64.rpm" target=_blank>
2.安装yum install xtrabackup -y二、配置主从在Master(主服务器)上新建主从备份所使用的账号GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' identified by '123456';
修改Master配置文件,并重启Mysql服务
[mysqld]thread_concurrency = 32long_query_time= 2slow-query-log = onslow-query-log-file = /home/mysql/logs/mysql-slow.logskip-name-resolveserver_id=205binlog-ignore-db=mysqllog-bin=ddsc-mysql-slave1-binbinlog_cache_size = 1Mexpire_logs_days=7skip-name-resolverelay_log=/data/mysqldb/ddsc-mysql-relay-binslave-skip-errors=alllog_slave_updates=1log-bin=ddsc-mysql-binbinlog_format=mixed
修改Slave配置文件,并重启Mysql服务。配置内容可参考主配置文件,注意:server_id不能一致。
使用xtrabackup对主库进行备份。innobackupex --defaults-file=/etc/my.cnf --socket=/data/mysqldb/mysql.mysql --user=root --password='' /backup/
如果报错:
InnoDB: The error means the system cannot find the path specified.
InnoDB: File ./ib_logfile0: 'open' returned OS error 71. Cannot continue operation
innobackupex: Error: The xtrabackup child process has died at /usr/bin/innobackupex line 2622.
修改my.cnf增加:
datadir=/data/mysqldb
basedir=/usr/local/mysql/
把备份好的文件Copy到Slave端。scp -r 2016-08-08_13-53-57/ root@192.168.3.225:/tmp/
一般情况下,这个备份是不能用于恢复的,因为备份的数据中可能会包含尚未提交的事务或已经提交但尚未同步至数据文件中的事务。因此,此时数据文件处于不一致的状态,我们现在就是要通过回滚未提交的事务及同步已经提交的事务至数据文件也使得数据文件处于一致性状态。innobackupex -apply-log /tmp/2016-08-08_13-53-57/
恢复数据先停止mysqld服务,然后清空数据文件目录,恢复完成后再设置权限
8.查看binlog日志文件的位置值,做主从同步:cat /tmp/2016-08-08_13-53-57/xtrabackup_binlog_infoddsc-mysql-bin.00001912476 #这两个数字是用来做主从的必备9.在slave机器上做主从相关操作:CHANGE MASTER TOMASTER_HOST='192.168.1.xxx',MASTER_USER='rep',MASTER_PASSWORD='xxxxxx',MASTER_PORT=3306,MASTER_LOG_FILE='ddsc-mysql-bin.000019',MASTER_LOG_POS=12476;
10.启动从服务器start slave;
2.安装yum install xtrabackup -y二、配置主从在Master(主服务器)上新建主从备份所使用的账号GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' identified by '123456';
修改Master配置文件,并重启Mysql服务
[mysqld]thread_concurrency = 32long_query_time= 2slow-query-log = onslow-query-log-file = /home/mysql/logs/mysql-slow.logskip-name-resolveserver_id=205binlog-ignore-db=mysqllog-bin=ddsc-mysql-slave1-binbinlog_cache_size = 1Mexpire_logs_days=7skip-name-resolverelay_log=/data/mysqldb/ddsc-mysql-relay-binslave-skip-errors=alllog_slave_updates=1log-bin=ddsc-mysql-binbinlog_format=mixed
修改Slave配置文件,并重启Mysql服务。配置内容可参考主配置文件,注意:server_id不能一致。
使用xtrabackup对主库进行备份。innobackupex --defaults-file=/etc/my.cnf --socket=/data/mysqldb/mysql.mysql --user=root --password='' /backup/
如果报错:
InnoDB: The error means the system cannot find the path specified.
InnoDB: File ./ib_logfile0: 'open' returned OS error 71. Cannot continue operation
innobackupex: Error: The xtrabackup child process has died at /usr/bin/innobackupex line 2622.
修改my.cnf增加:
datadir=/data/mysqldb
basedir=/usr/local/mysql/
把备份好的文件Copy到Slave端。scp -r 2016-08-08_13-53-57/ root@192.168.3.225:/tmp/
一般情况下,这个备份是不能用于恢复的,因为备份的数据中可能会包含尚未提交的事务或已经提交但尚未同步至数据文件中的事务。因此,此时数据文件处于不一致的状态,我们现在就是要通过回滚未提交的事务及同步已经提交的事务至数据文件也使得数据文件处于一致性状态。innobackupex -apply-log /tmp/2016-08-08_13-53-57/
恢复数据先停止mysqld服务,然后清空数据文件目录,恢复完成后再设置权限
service mysqld stop mv /data/mysqldb /data/mysqldb_old mkdir -p /data/mysqldb innobackupex --copy-back /tmp/2016-08-08_13-53-57/ chown -R mysql.mysql /data/mysql/data service mysqld start
8.查看binlog日志文件的位置值,做主从同步:cat /tmp/2016-08-08_13-53-57/xtrabackup_binlog_infoddsc-mysql-bin.00001912476 #这两个数字是用来做主从的必备9.在slave机器上做主从相关操作:CHANGE MASTER TOMASTER_HOST='192.168.1.xxx',MASTER_USER='rep',MASTER_PASSWORD='xxxxxx',MASTER_PORT=3306,MASTER_LOG_FILE='ddsc-mysql-bin.000019',MASTER_LOG_POS=12476;
10.启动从服务器start slave;
相关文章推荐
- 使用xtrabackup实现MySQL主从复制
- 使用 Xtrabackup 在线对MySQL做主从复制
- MySQL主从复制-xtrabackup的使用与延时复制(附原理图)
- MySQL主从复制-xtrabackup的使用与延时复制
- 使用xtrabackup实现MySQL主从复制
- 使用 Xtrabackup 在线对MySQL做主从复制
- 使用Xtrabackup对MySQL做主从复制
- 使用Xtrabackup对MySQL做主从复制
- 使用Xtrabackup对MySQL做主从复制
- mysql之使用xtrabackup进行物理备份、恢复、在线克隆从库、在线重做主从
- 使用 Xtrabackup 在线对MySQL做主从复制【转】
- 使用tungsten-replicatior实现MySQL之间的主从复制
- 用xtrabackup实现mysql的主从复制快速部署【主不锁表】
- mysql中的主从复制slave-skip-errors参数使用方法
- 使用xtrabackup对MySQL进行备份和恢复
- 使用Xtrabackup进行MySQL备份
- MySQL5.5配置主从复制_CentOS6.5下进行
- 转:Mysql使用主从复制机制(replication)
- 使用Xtrabackup进行MySQL备份
- Mysql 5.6 基于GTID的主从复制及使用Amoeba配置读写分离