zoukankan      html  css  js  c++  java
  • MySQL利用xtrabackup在线修复或新增从库

    如果数据库的数据量很大,表大小有几十个G,利用mysqldump导出备份会消耗非常长的时间,会对数据库产生不稳定风险,这时可以利用xtrabackup工具在线复制主库文件,利用复制出来的主库文件可以修复从库故障或新增从库实例

    主库IP:192.168.1.1
    从库IP:192.168.1.2

    主库和从库服务器都需要安装以下环境
    安装必须的依赖环境
    yum install libssl.so.6 -y
    ln -sf /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.6
    ln -sf /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.6

    使用rpm包安装需要安装较多的依赖包,如果是在线上的生产系统操作,会对业务产生风险,因此我们使用源码包操作
    下载源码包
    wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.5/binary/tarball/percona-xtrabackup-2.4.5-Linux-x86_64.tar.gz
    tar xvf percona-xtrabackup-2.4.5-Linux-x86_64.tar.gz
    mv percona-xtrabackup-2.4.5-Linux-x86_64 /usr/local/xtrabackup

    一、以下命令在主库服务器上操作
    1.复制主库
    /usr/local/xtrabackup/bin/innobackupex --host=127.0.0.1 --user=root --password=123456 --port=3306 --slave-info --no-timestamp /data/backup/
    复制的文件会存储在/data/backup/目录下

    2.同步复制文件到从库服务器
    scp -r /data/backup/ 192.168.1.2:/data/backup/

    二、以下命令在从库服务器上操作
    1.清空旧的同步信息
    mysql -h192.168.1.2 -uroot -p123456
    mysql> stop slave;
    mysql> reset slave;

    2.删掉mysql原来的datadir目录
    /etc/init.d/mysql stop
    cd /data/mysql
    mv data data_bak

    3.恢复主库复制的备份
    cd /data/backup/
    /usr/local/xtrabackup/bin/innobackupex --apply-log ./
    /usr/local/xtrabackup/bin/innobackupex --copy-back ./

    4.开启mysql服务
    chown -R mysql.mysql /data/mysql/data
    /etc/init.d/mysql start

    5.查看主库复制时的日志点
    cat xtrabackup_binlog_info
    mysql-bin.000015   59245449

    6.创建新的同步信息,从复制时的日志点开始同步
    mysql -h192.168.1.2 -uroot -p123456
    mysql> change master to master_host='192.168.1.1',
    master_user='root',
    master_password='123456',
    master_log_file='mysql-bin.000015',
    master_log_pos=59245449;

    mysql> start slave;

    mysql> show slave statusG;

    如果看到IO和SQL线程均为YES,说明主从配置成功

     

  • 相关阅读:
    mysql 定时器
    mysql 存储过程记录
    mysql 常用sql
    mysql 取最后一条数据 分组
    Java8 Stream使用flatMap合并List 交 并 合 差集
    微服务技术栈
    spring boot 拦截 以及Filter和interceptor 、Aspect区别
    在springMVC的controller中获取request,response对象的一个方法
    spring boot 用@CONFIGURATIONPROPERTIES 和 @Configuration两种方法读取配置文件
    SSRS 2016 Forms Authentication
  • 原文地址:https://www.cnblogs.com/fjping0606/p/10514988.html
Copyright © 2011-2022 走看看