MySQL5.6主从同步(热备份)

1、在master服务器上启用二进制日志

[root@master ~]# vim /etc/my.cnf 
[mysqld]
server_id=101
log_bin=master-bin

[root@master ~]# systemctl restart mysql

2、在slave服务器配置server_id, 启动服务

[root@slave ~]# vim /etc/my.cnf 
[mysqld]
server_id=102
read_only=1

[root@slave ~]# systemctl restart mysql 

3、 在master上备份数据,在slave上恢复数据

1)在主从库上分别安装Xtrabackup工具

[root@master ~]# tar zxf  percona-xtrabackup.tar.gz
[root@master ~]# createrepo percona-xtrabackup

配置yum源

[root@master ~]# cat /etc/yum.repos.d/percona.repo
[percona]
name=percona
baseurl=file:///root/percona-xtrabackup
gpgcheck=0
enabled=1

[root@master ~]# yum  makecache
[root@master ~]# yum  install  -y  percona-xtrabackup-24

2)完成数据全量备份,并拷贝到slave服务器上

[root@host-192-168-27-10 ~]# innobackupex --user=root --password=123  -S  /tmp/mysql.sock  ./backup/

MySQL5.6主从同步(热备份)

[root@host-192-168-27-10 ~]# scp  -r  backup/  192.168.27.67:/opt/mysql/mysql/

3)在slave恢复数据

注:恢复数据之前一定要先停止从库mysql,备份之前的数据目录

[root@slave mysql]# systemctl stop mysql
[root@slave ~]# cd  /opt/mysql/mysql/
[root@slave mysql]# mv  data/ data_back
[root@slave mysql]# mkdir  data
[root@slave ~]# innobackupex  --apply-log ./backup/2021-05-25_14-19-07/

MySQL5.6主从同步(热备份)

[root@slave ~]# innobackupex --defaults-file=/etc/my.cnf --copy-back ./backup/2021-05-25_14-19-07/

MySQL5.6主从同步(热备份)

MySQL5.6主从同步(热备份)

4)修改slave数据目录所属权限,重启mysql

[root@slave mysql]# chown  -R mysql.mysql data

MySQL5.6主从同步(热备份)

[root@slave mysql]# systemctl start mysql

4、在master服务器上创建一个具有复制权限的远程用户

mysql> grant replication slave on *.* to 'sync'@'192.168.27.67' identified by '123';
mysql> flush privileges;

5、在slave上连接主服务器

MySQL5.6主从同步(热备份)

 MySQL5.6主从同步(热备份)

1)停止slave

mysql> stop slave;

2)连接master

mysql> change master to master_host='192.168.27.10',
     > master_user='sync',
     > master_password='123',
     > master_log_file='mysql-bin.000989',
     > master_log_pos=526293268;

3)启动复制线程   

mysql> start slave;

4) 查看从服务器上线程的状态

mysql> show slave status\G;

MySQL5.6主从同步(热备份)

 

 

验证主从复制成功

停止从服务器,在主服务上进行修改操作,再次启动从服务器,从服务器会自动继续复制数据

因为从服务器启动后,默认会在其数据目录下,生成一个master.info,该文件中会自动记录主服务器的连接信息

 

上一篇:RDS MySQL物理备份文件恢复教程


下一篇:PXC集群搭建