美文网首页
全备份,增量备份,主从复制

全备份,增量备份,主从复制

作者: 快去学习不然怎么去看aimer | 来源:发表于2019-08-16 08:09 被阅读0次
    主从复制.jpg

    逻辑备份 备份的是建表,建库的语句,因此备份时间过长,

    1.备份所需的权限:
    select
    lock_tables
    tigger
    show_view
    reload 刷新内存,以便将权限应用到用户
    event 事件
    process

    备份步骤:
    1.创建备份用户
    grant 所需权限 on . to rourou@'192.168.1.2' identified by 'QWEqwe123!'

    2.配置用户名及密码 /root/mysqluser.db
    [mysqldump]
    user=root
    password=QWEqwe123!

    3.备份数据库或表
    mysqldump --defaules-file=~/mysqluser.db -h172.16.153.10 --all-databases >a.sql 全部
    mysqldump --defaules-file=~/mysqluser.db -h172.16.153.10 servers sys >a.sql 全部的库
    mysqldump --defaules-file=~/mysqluser.db -h172.16.153.10 servers phy_server test >a.sql 某库的某表
    这样备份是没有建库的语句的,
    --database 则会包含建库语句,因此,在没写该语句时,就必须先-e 'create servers'创建库再导入

    导回步骤:
    mysql -uroot -p'QWEqwe123!' servers < a.sql 将整个库导入
    或者在mysql中
    source a.sql
    当然,当你想将库导入到新的库中,则需
    mysql -uroot -p'QWEqwe123!' -e 'create ku' servers < a.sql

    物理备份

    安装步骤;
    1.yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 安装 EPEL 源
    2.yum install -y libev 安装 libev
    3.yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm 安装Percona存储库
    4.shell> yum install percona-xtrabackup-24 安装软件

    导出步骤:
    xtrabackup --backup --user=root --password='123' --target-dir=/backups/full

    导入步骤:
    1.准备数据
    xtrabackup --prepare --target-dir=/backups/full 保持数据的一致性
    2.停止服务
    systemctl stop mysqld
    3.清空文件夹
    rm -rf /var/lib/mysql/*
    4.导入备份文件
    xtrabackup --copy-back --datadir=/var/lib/mysql --target-dir=/backups/full
    5.修改权限
    chown mysql.mysql -R /var/lib/mysql/
    6.启动服务
    systemctl start mysqld

    增量备份

    描述:先全备,再进行增量备份,使用xtarbackup 会产生一个 .logfile 的文件,这个文件记录着备份的同时数据库对数据的操作。
    备份步骤;
    1.使用上边的全备
    2.xtrabackup --backup --user=root --password=123 --target-dir=/backups/inc1 --incremental-basedir=/backups/full
    3.上述的过程重复操作

    恢复步骤:
    --apply-log-only 禁止使用logfile来补充数据
    1.xtrabackup --prepare --apply-log-only --target-dir=/backups/base
    2.xtrabackup --prepare --apply-log-only --user=root --password=123 --target-dir=/backups/full --incremental-dir=/backups/inc1
    3.重复上述操作,注意:最后一次准备数据要执行logfile
    4.systemctl stop mysqld
    5.rm -rf /var/lib/mysql/*
    6.xtrabackup --copy-back --datadir=/var/lib/mysql --target-dir=/backups/full/
    7.chmod mysql.mysql -R /var/lib/mysql
    8.systemctl start mysqld

    主从复制

    主从复制.jpg

    目的是为了读写分离,减轻服务器压力。
    主服务器必须开启二进制日志

    主服务器:
    1.[mysqld]
    log-bin=/var/log/mysql/mysql-bin
    server-id=1 配置服务器ID,并且指定二进制目录
    2.chown mysql.mysql /var/log/mysql

    1. systemctl restart mysqld
      4.grant replication slave on . to 'repl'@'%' identified by 'QWEqwe!1';
      5.mysqldump --defalutes-files=/root/mysqluser.db --all-databases >dbdump.db
      6.scp dbdump.db mrking@192.168.1.2:/root
      7.setenforce 0
      8.systemctl stop firewalld

    从服务器:
    1.[mysqld]
    server-id=2 并且重启mysqld
    2.mysql -uroot -p'QWERasdf!' < dbdump.db
    3.CHANGE MASTER TO
    MASTER_HOST='192.168.1.2',
    MASTER_USER='repl',
    MASTER_PASSWORD='QWEqwe123!',
    MASTER_LOG_FILE='mysql-bin.000001',
    MASTER_LOG_POS=437;
    4.start slave; 启动复制线程
    5.show slave status 查看I/O和SQL的状态都为yes即为成功

    binlog日志有几种方式:

    • 基于sql语句的
    • 基于行的
    • 混合模式的

    相关文章

      网友评论

          本文标题:全备份,增量备份,主从复制

          本文链接:https://www.haomeiwen.com/subject/yzjgjctx.html