Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1861623
  • 博文数量: 117
  • 博客积分: 2559
  • 博客等级: 少校
  • 技术积分: 4385
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-13 20:08
个人简介

作为初学者,要想取得进步,成为高手,首先应该了解自己的不足之处.

文章分类

全部博文(117)

文章存档

2014年(1)

2013年(25)

2012年(13)

2011年(77)

2010年(1)

分类: Mysql/postgreSQL

2013-12-11 12:40:22

注: 官方文档已经有详细的说明,在此只是把常用命令记录一下,方便使用.

  • 参考:
  • 克隆一个slave
    • 落在本地再传输
    • 直接以"流"的方式传到远程

克隆一个slave

落在本地再传输

  1. 在一个slave上面,做一个全备
    sudo innobackupex --defaults-file=/usr/local/mysql/multi/3306/etc/my.cnf --user=username --password=password \
                      --host=127.0.0.1 --port=3306 --use-memory=2G --slave-info /usr/local/backupdb/
    
  2. 根据logfile恢复数据
    sudo innobackupex --apply-log --use-memory=2G /usr/local/backupdb/tmp/2013-12-10_17-09-43/
    
    # 重命名
    mv /usr/local/backupdb/tmp/2013-12-10_17-09-43/ data
    
  3. 转移到新的slave机上面
    通过rsync或者scp命令,传完之后,修改目录的属主属组
    chown mysql:mysql data
    
  4. 在master上面增加一个新slave的授权
    GRANT REPLICATION SLAVE ON *.*  TO 'repl'@'$newslaveip' IDENTIFIED BY '$slavepass';
    
  5. 在新slave上面启动mysql,配置主从关系
    注意: backup-my.cnf文件中的配置参数,要跟master一致.
    CHANGE MASTER TO
                       MASTER_HOST='$masterip',
                       MASTER_USER='repl',
                       MASTER_PASSWORD='$slavepass',
                       MASTER_LOG_FILE='TheMaster-bin.000001',
                       MASTER_LOG_POS=481;
    
    START SLAVE;
    SHOW SLAVE STATUS\G
    

直接以"流"的方式传到远程

  1. 在新slave上面用nc起一个接收数据的端口
    nc -l 9999 | cat - > ./backup_20131210.tar
    
  2. 限速10Mbytes/s
    注意: 一定要限速,否则千兆的网卡也会打满
    sudo innobackupex --defaults-file=/etc/my.cnf --user=username --password=password --host=127.0.0.1 --port=3306 \
                      --use-memory=2G --slave-info --stream=tar ./ | pv -q -L10m |nc $newslaveip 9999
    
    
  3. 在新的slave上面解压
    mkdir data_tmp
    
    tar ixvf backup_20131210.tar -C data_tmp
    
  4. 根据logfile恢复数据
    sudo innobackupex --apply-log --use-memory=2G data_tmp/
    
  5. 修改属主属组关系
    chown mysql:mysql data
    
  6. 在master上面加授权,在新slave启动mysql,建立复制
阅读(6422) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~