java技术--mysql5.7数据库双机热备、主从备份

1.双机热备特指:基于高可用系统中的两台服务器的热备(或高可用),因两机高可用在国内使用较多,故得名双机热备
2.双机高可用按工作中的切换方式分为:主-备方式(Active-Standby方式)和双主机方式(Active-Active方式)

(1)主-备方式:指的是一台服务器处于某种业务的激活状态(即Active状态),另一台服务器处于该业务的备用状态(即Standby状态)
(2)双主机方式:指两种不同业务分别在两台服务器上互为主备状态(即Active-Standby和Standby-Active状态)

3.双机热备都会有一个切换过程,这个切换过程可能是一分钟左右

(1)在切换过程中,服务是有可能短时间中断的
(2)当切换完成后,服务将正常恢复
(3)双机热备不是无缝、不中断的,但它能够保证在出现系统故障时,能够很快恢复正常的服务,业务不致受到影响  
(4)主要功能目的是保护业务不间断运行  比如主服务器宕机 故障 掉电等等 备用服务器可以自动接替服务
(5)尤其是在大规模系统中,数据库集群已经成为必备的配置之一
(6)Master负责写操作的负载,也就是说一切写的操作都在Master上进行,而读的操作则分摊到Slave上进行。这样一来的可以大大提高读取的效率

4.搭建环境

(1)操作系统:WIndows7
(2)数据库:mysql5.7,并确保数据库是启动成功的。
(3)PC机或服务器:2台(假设分别命令为master(主)服务器和slave(从)服务器,这两台电脑相互可通信),环境均为以上配置
(4)A服务器(主服务器Master):59.151.15.36,B服务器(从服务器Slave):218.206.70.146

5.主要过程

(1)在master(主)服务器配置mysql的my.ini文件中最小配置3个参数
(2)在slave(从)服务器中最小配置2个参数
(3)完成之后在master服务器建立账号并做slave行为赋权,在slave服务器设定master行为赋权。
(4)同步数据库。
(5)开启slave服务器的slave服务。

6.具体过程

(1)在master服务器配置mysql的my.ini文件中最小配置3个参数
      <1>server-id=1 #这是数据库ID,此ID是唯一的,ID值不能重复,否则会同步出错,值区间为1-32.(一般有不需要配置)
      <2>log-bin = mysql-bin#二进制日志文件,此项为必填项,否则不能同步数据;
      <3>binlog-do-db = masters#需要同步的数据库,如果还需要同步另外的数据库,那么继续逐条添加,如果不写,那么默认同步所有的数据库;
      <4>binlog-ignore-db = mysql 不需要同步的数据库;
注意:
<1>以上参数设定好之后输入命令show master status,如果以上配置都成功就会出现一个列表,请记录里面的file和position参数
<2>关于参数中的横线及下划线:server-id或server_id一样,使用横线或下划线是一样的
<3>关于my.ini的位置:如果是WINDOWS操作系统,从控制面板中打开服务,找到mysql服务,从服务器属性中可以看到my.ini的具体位置
<4>Slave不对外提供服务;Slave和Master在同一个局域网内,以此保证主从复制的速度和连接的稳定性
(2)在slave服务器中最小配置2个参数
     <1>从数据库的话只需要配置server-id,binlog-do-db,binlog-ignore-db即可
     <2>serverid需要和master服务器的区分开,binlog-do-db,binlog-ignore-d的参数需要和主服务器一致
(3)完成之后在master服务器建立账号并做slave行为赋权,在slave服务器设定master行为赋权
     <1>在master服务器主数据库添加同步账号,这个账号用于salve服务器用这个账号登录master服务器并读取bin-log文件同步数据用,执行如下命令:
命令格式:mysql> grant replication slave on *.* to '用户名称'@'SLAVE服务器地址' identified by '用户密码';
例如执行:mysql> grant replication slave on *.* to 'slave'@'218.206.70.146' identified by '123456';
         mysql> flush privileges;
     <2>在slave服务器设定同步账号,这个账号用于salve服务器用这个账号登录master服务器并读取bin-log文件同步数据用,执行如下命令:
     mysql> change master to
   -> master_host='master服务器IP',
   -> master_user='master服务器设定的同步用户',
   -> master_password='master服务器设定的同步用户密码',
   -> master_log_file='上面我们提到的master服务器看到的file名称',
   -> master_log_pos=上面我们看到的master服务器看到的position参数;    
(4)同步数据库
     <1> 直接在slave服务器建立一个库,库名和master服务器一致,然后打开master服务器这个库 拷贝所有表,粘贴到slave这个库上就可以了    
(5)开启slave服务器的slave服务
    <1>在slave服务器执行slave start命令,启动服务
    <2>执行show slave status\G,slave_io_running和slave_sql_running两个参数均为YES就可以了    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值