目的:19 作为 20 的从库

20上做一次全备份

/usr/bin/innobackupex-1.5.1--user=root --password=`cat /etc/savep` --defaults-file=/etc/my.cnf --socket=/tmp/mysql.sock  --slave-info--stream=tar /usr/local/backup | gzip >/usr/local/backup/db20.tar.gz

db20.tar.gz copy 19

--slave-info 保存主库日志文件以及偏移

--stream=tar/usr/local/backup | gzip > /usr/local…压缩方式

[ 在使用参数stream=tar备份的时候,你的xtrabackup_logfile可能会临时放在/tmp目录下,多实例 xtrabackup在备份的时候会生成固定文件/tmp/xtrabackup_logifle,导致互相覆盖。 --tmpdir= ]

19上启动新的实例

  1. 新建/etc/myNew.cnf 注意server id 要跟20不一样 my.cnf server_id xxx

  2. 初始化数据库

3.           scripts/mysql_install_db --user=mysql --datadir=/data/mysqlNew/dataNew  --basedir=/usr/local/mysql

  1. 启动新的实例待会用于做从库

5.           /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/myNew.cnf --user=mysql &

19上安装 xtrabackup

旧版本5.1

wgethttp://115.182.52.17/software/xtrabackup-1.6.5-328.rhel6.x86_64.rpm

rpm -ivh xtrabackup-1.6.5-328.rhel6.x86_64.rpm  --nodeps (rpm方式安装xtrabackup.)

新版本5.6

wget -O/root/soft/percona-xtrabackup-2.2.11-1.el6.x86_64.rpm

http://115.182.52.17/software/percona-xtrabackup-2.2.11-1.el6.x86_64.rpm

rpm -ivh percona-xtrabackup-2.2.11-1.el6.x86_64.rpm  --nodeps

19上恢复主库的冷备份数据

  1. 解压

2.           mv db20.tar.gz /usr/local/backup/

3.           tar -izxvf db20.tar.gz

这里tar解包必须使用-i参数,否则解压出来的文件只有一个backup-my.cnf

  1. 一般情况下,在备份完成后,数据尚且不能用于恢复操作,因为备份的数据中可能会包含尚未提交的事务或已经提交但尚未同步至数据文件中的事务。因此,此时数据文件仍处理不一致状态。--apply-log的作用是通过回滚未提交的事务及同步已经提交的事务至数据文件使数据文件处于一致性状态。

5.           innobackupex --apply-log . --user=root --password=`cat /etc/savep(不存在密码就不需要这个项)` --defaults-file=/etc/myNew.cnf

  1. 拷贝数据文件

7.           mysqladmin -uroot -S /tmp/mysqlNew.sock shutdown –p 停库删除

8.           cd /data/mysqlNew/dataNew/

9.           rm -rf *

10.       mv /usr/local/backup/* .

11.       chown -R mysql.mysql *

12.       mysqld_safe  --defaults-file=/etc/myNew.cnf --user=mysql &

tail -f log.err 查看是否有报错

进数据库查看数据库是否跟主库一样,

至此已经把20的数据库冷备份恢复到19了

启动同步

  1. 确定主库冷备份的的binlog位置

2.           cd /data/mysqlNew/dataNew/

3.           cat xtrabackup_binlog_info  (如果冷备份是从主库直接备份的,则使用这个来确定主库的binlog位置)

4.           或者catxtrabackup_slave_info (如果冷备份是从主库的另外一个从库简介备份的,则使用这个来确定主库的binlog位置)

  1. 进入新实例,新建同步

6.           mysql -uroot -S /tmp/mysqlNew.sock -p

7.           mysql>change master to

8.           -> master_host='10.0.0.20',

9.           ->master_user='re4399pl',

10.       ->master_port=3306,

11.       ->master_password='re4399plpassword',

12.       ->master_log_file='mysql-bin.000006',

13.       ->master_log_pos=110632233;

上面这步需要现在主库上创建帐号

GRANT FILE,SELECT,REPLICATION SLAVE ON*.* TO 're4399pl'@'10.0.0.%'IDENTIFIED BY 're4399plpassword';

master_log_filemaster_log_pos 就是五.1 中的内容

  1. 启动同步

15.       mysql>start slave;

16.       mysql> show slave status\G

17.       如果要重启库,

18.         1,mysqladmin –uroot –pxxxx   2,mysqld_safe –user=mysql

其他注意点

  1. 注意多个实例的下的不同data目录和 my.cnf 文件

  2. 从库是不记录Binlog的如果需要做链式同步,从库开启binlog :log_slave_updates=1

  3. skip-slave-start 有这个参数,数据库重启后不会自动进行同步

  4. 主从废弃后,应该及时 stop slave 并 reset slave 免得忘记下次又同步

关于同步到从库并过滤部分表的做法

在从库上添加

replicate-wild-do-table=diygame_admin.%

replicate-wild-ignore-table=diygame_online.diygame_game_data%

replicate-wild-do-table=diygame_online.%

同步后重定向到另外一个库

在从库上添加

replicate-wild-do-table=diygame_admin.diygame_template_preview

replicate-wild-do-table=3387_base_admin.%

replicate-rewrite-db=diygame_admin->3387_base_admin

replicate-rewrite-db,及仅能重定向库,不能重定向表,而且还does not workwith cross-database updates

十 定时备份

0 0 * * * /cron/db_backup.sh > /tmp/db_backup.log 2>&1
cat /cron/db_backup.sh
#!/bin/bash
PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/mysql/bin:/usr/local/sbin:/usr/sbin:/sbin
DATE=`date +%Y%m%d`
IPADDR=`/sbin/ifconfig em1|grep 'inet addr'|awk '{print $2}'|awk -F ":" '{print $2}'`

passwd=`cat /etc/savep`
NAME=db185_hebi
mkdir /tmp/$NAME
/usr/bin/innobackupex-1.5.1 --user=root --password=`cat /etc/savep` --defaults-file=/etc/my.cnf --slave-info   --tmpdir=/tmp/$NAME/ --stream=tar /usr/local/backup | gzip > /usr/local/backup/$NAME-$DATE-$IPADDR.tar.gz

cd /usr/local/backup/
/usr/local/bin/rsync -R -avz --progress --password-file=/etc/49cn_pass $NAME-$DATE-$IPADDR.tar.gz  49cn@13.7.3.9::49cn/49cn

find /usr/local/backup/ -type f -mtime +7 | xargs rm -f

转载于:https://blog.51cto.com/9393764/1888856

mysql主从配置,innobackup备份相关推荐

  1. Windows下MySql主从配置实战教程

    Windows下MySql主从配置实战教程 MySql的主从配置教程 主库MySql的安装 1.MySQL的下载 2.MySQL配置文件的编写 3.初始化数据库 4.安装服务 5.启动MySql 6. ...

  2. windows中MySQL主从配置【第一篇】

    前言:         windows系统配置MySQL主从复制,系统中需要安装两个MySQL服务.我本地用的是集成环境,集成环境已经有一个MySQL服务,那么就需要自己在单独下载安装一个MySQL服 ...

  3. MySQL主从配置与Mycat读写分离

    MySQL主从配置与Mycat读写分离 一.主数据库配置 编辑配置文件 添加如下内容 server-id=1 binlog-do-db=master_db1 #备份的数据库 log-bin=mysql ...

  4. mysql主从配置流程

    一.mysql主从配置原理 1.master将操作记录写到二进制日志中(binary log)中: 2.slave IO 线程将master的binary log events读写到它的中继日志(re ...

  5. Mysql主从配置,实现读写分离

    大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...

  6. MySql(18)——Linux MySQL主从配置

    MySQL 主从配置 Author:xushuyi 参照技术:http://www.cnblogs.com/kevingrace/p/6256603.html 1. 主从数据库 1.主库:192.16 ...

  7. mysql主从配置 简书_Mysql主从配置,实现读写分离-Go语言中文社区

    转载:https://www.cnblogs.com/alvin_xp/p/4162249.html 大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层 ...

  8. docker mysql.sock,Docker mysql主从配置

    Docker mysql主从配置 一:Mysql基于Docker的主从复制搭建 1:安装docker,安装步骤可见我之前的文章:Docker-常用基建的安装与部署 docker ps 命令查询当前的容 ...

  9. mysql主从配置访问_Mysql主从配置,实现读写分离

    大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...

  10. mysql主从配置对解决并发有用_MySQL主从配置,读写分离

    大型网站为了缓解大量的并发访问,要网站实现分布式负载均衡.但是数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢失的话,后果不堪设想.这时 ...

最新文章

  1. R语言绘制简单行程图
  2. 生成对抗网络学习笔记4----GAN(Generative Adversarial Nets)的实现
  3. anacoda的spyder在调用matplotlib的时候无法显示动画效果【学习笔记】
  4. SpringBoot 使用fastjson
  5. Linux位置无关代码实现,浅谈位置无关代码
  6. 【算法】插值查找算法
  7. vue3 el-form表单验证 自定义校验
  8. eclipse 下安装插件
  9. c语言编写的操作系统不会用到类,因为当时c++还没出现
  10. 【u023】最长上升子序列(sequence)
  11. java并发编程(10)-- 线程池 底层原理
  12. Redis入门指南之一(简介)
  13. OA系统中的任务管理
  14. Ubuntu更换系统字体
  15. 心灵之火的瞬间-第二则
  16. MT【306】圆与椭圆公切线段
  17. 勾股定理 —— 证明大全
  18. 基于深度学习的人脸识别与管理系统(UI界面增强版,Python代码)
  19. 数据结构6:栈的应用(十进制转化为二进制)
  20. BAT的“说散就散”

热门文章

  1. 通过注册表修改我的文档等系统文件夹默认位置
  2. 微软6月补丁日修复7个0day:6个已遭利用且其中1个是为 APT 服务的商用exploit
  3. SolarWinds 供应链攻击中的第四款恶意软件及其它动态
  4. CVE-2020-15999:Chrome FreeType 字体库堆溢出原理分析
  5. 不要再问我this的指向问题了
  6. 理解Angular的Reactive Form
  7. scala.Enumeration 枚举示例
  8. WaterfallTree(瀑布树) 详细技术分析系列
  9. iPhone iPhoneSimulator.platform/Developer/usr/bin/clang++ failed with exit code 1 出现这种错误的原因是...
  10. 数据绑定--Repeater, DataList, or GridView?