zoukankan      html  css  js  c++  java
  • 使用Percona Xtrabackup创建MySQL slave库

    一、使用Percona Xtrabackup创建MySQL slave库

    MySQL Server 版本:

      Server version: 5.7.10-log MySQL Community Server (GPL)

    Percona Xtrabackup 版本:

      innobackupex version 2.4.2 Linux (x86_64) (revision id: 8e86a84)

    Percona Xtrabackup 安装参见下列连接:
    
    http://www.cnblogs.com/zhenxing/p/5416296.html

    说明:

    [master]:表示在master库上执行的语句
    
    [slave]:表示在slave库上执行的语句
    --执行master库的全备
    [master]innobackupex --parallel=4 --compress /data/backup/full --no-timestamp
    --将日志附加到备份中 [master]innobackupex --apply-log --parallel=4 /data/backup/full --no-timestamp
    --创建复制用户 [master]create user 'repl'@'172.25.21.%' identified by 'repl';
    --授予复制用户replication权限 [master]grant replication slave on *.* to 'repl'@'172.25.21.%';
    --传输数据到slave库 [master]scp -r full root@172.25.21.22:/data/backup/
    --测试是否能用主库创建的用户连接到主库
    [slave]mysql -h172.25.21.11 -urepl -prepl
    
    --查看备份数据中binary log的信息 [slave]cat /data/backup/full/xtrabackup_binlog_info   mysql-bin.000002 66379412

    --进行备份恢复操作 [slave]innobackupex --copy-back --decompress /data/backup/full
    --修改恢复后的数据文件目录的权限 [slave]chown -R mysql:mysql /data/mysql_data1
    --启动slave库 [slave]service mysqld start

    --登录到slave库执行下列语句开启同步
    [slave]
    change master to 
    master_host='172.25.21.11',
    master_user='repl',
    master_password='repl',
    master_port=3306,
    master_log_file='mysql-bin.000002',
    master_log_pos=66379412;

    start slave;

    show slave statusG;

    从库级联

    M1-S1-S2 架构
    
    其中S1既作为M1的从库,同时也作为S2的主库

    操作步骤

    只需要将原本M1-S1架构中的S1库做同样的备份操作,将备份传输到S2从库,并执行与上面类似的操作,只需S2改变change master to 用来指定到S1的IP地址及binlog postion即可。
    
    注意:不知是否为BUG导致,创建完成后S2从库对M1(S1)的变化只记录了DDL操作,DML操作不同步,不知是否为参数引起的问题,或由于S2从库生成后未重启导致。

    使用GTID模式的replication

    将M1-S1-S2中S1的同步M1的模式改为基于GTID方式

    Step 1: Synchronize the servers

    [master/slave]  SET @@global.read_only = ON;

    Step 2: Stop both servers

    [master/slave] service mysqld stop

    Step 3: Restart both servers with GTIDs enabled

    #vi /etc.my.cnf   --master/slave中都增加或修改下列参数
            log_bin = mysql-bin.log
            gtid_mode = on
            log_slave_updates=1
            enforce_gtid_consistency = 1
    [master/slave] service mysqld start

    Step 4: Direct the slave to use the master

    [slave]
    change master to 
    master_host='172.25.21.11',
    master_user='repl',
    master_password='repl',
    master_port=3306,
    master_auto_position=1;
    [slave]START SLAVE;

    Step 5: Disable read-only mode

    [master]SET @@global.read_only = OFF;

    Step 6:Check Replication Status

    [master] show master status;
    [master] show processlist;
    
    [slave] show processlist;
    [slave] show slave statusG;

    从库错误问题解决

    --错误信息
    Last_SQL_Error: Error 'Operation CREATE USER failed for 'repl'@'172.25.21.%'' on query. Default database: ''. Query: 'CREATE USER 'repl'@'172.25.21.%' IDENTIFIED WITH 'mysql_native_password' AS '*A424E797037BF97C19A2E88CF7891C5C2038C039''
    --由于从库上已经存在了repl这个用户,需要首先删除这个用户在启动slave,如下操作
    --执行语句
    
    [slave]drop user 'repl'@'172.25.21.%';
    [slave]stop slave;
    [slave]start slave;
    [slave]show slave statusG;
    转载请说明出处 |QQ:327488733@qq.com
  • 相关阅读:
    Oralce两种认证方式的总结
    MOSS2007启用发布Feature后,子站点标签无法高亮
    c#事务的使用、示例及注意事项 转
    软件标准项目文档(转)
    .net常用JS代码
    Epplus
    MOSS2007中自定义页面
    步步为营 SharePoint 开发学习笔记系列总结(转)
    SharePoint 2010 自定义Ribbon实现文档批量下载为Zip文件(转)
    显示详细的SharePoint错误
  • 原文地址:https://www.cnblogs.com/zhenxing/p/5416244.html
Copyright © 2011-2022 走看看