MYSQL系统搭建互备DB(双主)记录

发表于:2015-7-24 10:12

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:carterzhang    来源:51Testing软件测试网采编

  背景:所负责的自动化持续交付平台业务量逐渐增长,以防不测,需要搭建备份系统,经过多方考量;
  选择采取mysql的主从系统进行备份;互为主从(即所谓双主);
  PS:
  三种备份方式:
  a、脚本通过mysqldump备份 ----------- 数据量少时可以采取
  b、第三方工具备份 ----------- 大多数工具都是windows端的。一旦出现问题,恢复起来步骤稍多(本人比较懒,能自动化的最好都自动化)
  c、mysql的主从同步机制 ------------ 推荐,实时增量热备,切换时可以直接启用DB。
  下列为搭建记录,以备查:
  一、mysql主主同步配置流程
  1、两个服务器建立同步账号
  GRANT REPLICATION SLAVE,FILE ON *.* TO 'replication'@'192.168.%.%' IDENTIFIED BY '123456';
  FLUSH PRIVILEGES;
  --------------- 用户名 'replication' 密码 '123456' 权限  SLAVE,FILE
  2、修改服务器配置文件 ------------------ 根据服务器变量名的不同,以及部署位置的不同,具体的变量赋值需要调整
  主服务器A:
  #replicate confi
  server-id = 14550
  log-bin=mysql-bin
  log-bin-index=master-bin.index
  binlog_format="ROW"
  innodb_file_per_table=1
  replicate_do_db    =jats
  relay_log          =/var/lib/mysql/mysql-relay-bin.log
  主服务器B:
  server-id = 14542
  replicate_do_db    =jats
  relay_log          =/var/log/mysql/mysql-relay-bin.log
  slave-net-timeout=60
  3、从服务器A的jats 使用 load或mysqldump导入到B服务器;
  4、重启A/B服务器
  5、从服务器启动同步进程
  stop slave;
  reset slave;
  change master to master_host='192.168.145.45',master_port=3306,master_user='replication',master_password='123456',master_log_file='mysql-bin.000002',master_log_pos=6663;
  ------------------其中的 master_log_file/master_log_pos 都是主服务器的log文件(主服务器使用 show master status可以看到)
  b、start slave;
  6、至此主服务器jats的任何数据变化都会被同步到从服务器
  7、此时双方服务器的所有操作都会互相同步;
  二、mysql同步方式和原理
  http://www.cnblogs.com/carterzhang/articles/4633540.html
  1、同步方式:
  模式:主从(1主多从)
  复制方式:同步复制、单向同步、异步复制
  2、同步原理
  原理:
  a、一个服务器充当主服务,而一个或多个服务器充当从服务器。
  b、主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环。这些日志可以记录发送到从服务器的更新。
  c、从服务器连接主服务器时,它通知主服务器此从服务器在日志中读取的最后一次成功更新的位置。
  d、从服务器接收从那时起发生的任何更新,然后封锁并等待主服务器通知新的更新。 ------------- 此过程一直持续,知道关闭同步功能;
  步流程:(接到主服务器通知更新后)(主要是通过执行和结果返回分离来实现):
  a、主服务器开启1个线程m用于将二进制日志内容发送给从服务器(即s1线程执行语句后的结果)
  b、从服务器开启2个进程,
  1) 线程s1:创建一个I/O线程,以连接主服务器并让它发送记录在其二进制日志中的语句。
  2) 线程s2:从relaylog中读取更新
  c、主服务器将二进制文件更新推送给从服务器
  e、从服务器将更新写入同步日志(relay log)
  f、从服务器mysql主进程从relay log读取更新并执行;
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号