XtraBackup不停机不锁表做MySQL主从复制的试验

本文介绍如何在CentOS 6.5环境下使用XtraBackup 2.4.13进行MySQL 5.7的全量备份及主从数据库配置过程。包括宝塔面板安装、XtraBackup安装、主从数据库配置步骤、全量备份与数据恢复流程、以及主从同步开启方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境:Centos6.5、MySQL5.7、XtraBackup2.4.13(经过测试、此版本适合MySQL5.7)

一、这里是先安装宝塔Linux5.9集成环境、之后再安装MySQL

# yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh
复制代码

二、安装XtraBackup ,rpm方式安装

# yum install perl-Time-HiRes
# yum install -y perl-DBD-MySQL
# yum install -y perl-Digest-MD5
# yum install -y rsync
# yum install -y numactl-devel 
# wget https://www.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.13/binary/redhat/6/x86_64/percona-xtrabackup-24-2.4.13-1.el6.x86_64.rpm
# rpm -ivh percona-xtrabackup-24-2.4.13-1.el6.x86_64.rpm
复制代码

三、配置主从数据库

1、主库配置my.cnf

[mysqld]
#增加server-id 和 bin-log
server-id = 198
log-bin = mysql-bin
复制代码

2、主库配置授权账号

mysql> grant replication slave on *.* to root@‘192.168.199.198’ identified by '51562e6f6d044223';
mysql> flush privileges; 
复制代码

3、从库配置my.cnf

[mysqld]
增加server-id 和 bin-log
server-id = 199
slave_skip_errors=1062 #1062是指跳过一些主键重复的错误

#如果需要在从库上做bin-log备份可以添加如下参数
log-bin = mysql-bin   
log-slave-updates = 1   
expire-logs-days=10
复制代码

主从数据库都要重载配置

四、全量备份

[root@Centos]# xtrabackup --defaults-file=/etc/my.cnf --host=127.0.0.1 --user=root --password=51562e6f6d044223 --port=3306 --backup --target-dir=/www/backup/xtrabackup/

[root@Centos]# ls /www/backup/xtrabackup/
复制代码

xtrabackup会把数据库datadir下的所有数据 文件都复制过来还新增了4个xtrabackup_开头的文件,xtrabackup_binlog_info这个录了做从库需要change到主库的binlog的位置和pos点

五、恢复数据到从库

1、停止从库 把主库备份文件拷贝到从库机器

[root@Centos]# scp -r xtrabackup/*   root@192.168.2.199:/www/server/data
复制代码

2、修改恢复文件权限

[root@Centos]# chown -R mysql:mysql /www/server/data 
复制代码

3、启动从数据库 确认数据是否恢复成功 登录从库,执行

mysql> show databases;
复制代码

六、开启主从同步

1、确认同步的位置点 在从库上或者主库上都可以查看该信息,我们是在从库上查看

[root@Centos]# cat /www/server/data/xtrabackup_binlog_info 
mysql-bin.000010        301846
复制代码

2、配置从库 主从配置 (注意3306端口的开放) #登录从库并执行

mysql> change master to master_host='192.168.2.198', master_user='root', master_password='51562e6f6d044223', master_port=3306, master_log_file='mysql-bin.000010' , master_log_pos=301846, master_connect_retry=30;
复制代码

3、开始同步

mysql> start slave;
复制代码

4、查看同步状态

mysql> show slave status;
复制代码

当Slave_IO_Running 与 Slave_SQL_Running 两项都为Yes时,代表主从配置成功。

转载于:https://juejin.im/post/5ca482ebf265da309c584880

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值