mysql 运行一段时间且未开启bin_log的主库 搭建主从(三) 使用Xtrabackup同步数据

  1. 下载Xtrabackup
    选择对应版本并下载 我选择的是rpm包

  2. 安装Xtrabackup
    yum install xxx.rpm //上边选择的安装包http地址

  3. 因为接下来,我们准备完全备份,所以在主库创建 用与复制的mysql用户
    grant replication slave,replication client on *.*
    To repl@'192.168.1.%' identified by 'p4ssword';
    //192.168.1.% 限定了内网访问 如果需要外网 自行修改

  4. 创建完全备份文件 命令参考
    //用户名 密码 备份文件存储地址
    innobackupex --user=DBUSER --password=DBUSERPASS /path/to/BACKUP-DIR/
    innobackupex: completed OK! //看到这个输出就完成了

  5. 一般情况下,在备份完成后,数据尚且不能用于恢复操作,因为备份的数据中可能会包含尚未提交的事务或已经提交但尚未同步至数据文件中的事务。因此,此时数据文件仍处理不一致状态。“准备”的主要作用正是通过回滚未提交的事务及同步已经提交的事务至数据文件也使得数据文件处于一致性状态。
    innobackupex --apply-log /path/to/BACKUP-DIR
    innobackupex: completed OK! //完毕

  6. 将备份文件 传到从库服务器
    scp -r /path/to/BACKUP-DIR root@slave_host:/data/
    //文件过大的话 可以进行压缩之后再传

  7. 从库恢复数据
    innobackupex --copy-back /path/to/BACKUP-DIR
    chown -R mysql:mysql /var/lib/mysql
    //之后启动从库

  8. 到这里 我们的数据同步就同步到了 主站之前的那个时间节点,
    这个节点可以在备份文件xtrabackup_binlog_info 中看到
    接下来只要开启同步就可以啦 从库就从 这个节点 会追到主站的最新节点

猜你喜欢

转载自blog.csdn.net/lkjasdgfh/article/details/79759107