mysql数据库双主双从部署

双主双从部署

环境

四台mysql服务器master-1,master-2,slave-1,slave-2.

配置

M–M
master-1
vim /etc/my.cnf
    [validate_password=off]
    log-bin=my1log
    server-id=1
    gtid_mode=ON    //开启gtid
    enforce_gtid_consistency=1

重新启动数据库服务

systemctl restart mysqld

创建授权账户

 grant all on *.* to 'slave'@'%'  identified by 'password';
master-2
 log-bin=my2log
    server-id =2
    gtid_mode=ON
    enforce_gtid_consistency=1

重新启动数据库服务

systemctl restart mysqld

创建授权账户

 grant all on *.* to 'slave'@'%'  identified by 'password';

查找配置文件

> help change master to

找到相关信息
在这里插入图片描述
按要求编辑

>edit
    change master to
    master_host='master1',
    master_user='授权用户',
    master_password='授权密码',
    master_auto_position=1;

编辑完成后启动slave

>start slave;
>show slave status\G

在这里插入图片描述
看到如上图效果,说明配置成功!
注意,相同的操作再master-1里也要操作一遍

按要求编辑

>edit
    change master to
    master_host='master2',
    master_user='授权用户',
    master_password='授权密码',
    master_auto_position=1;

编辑完成后启动slave

>start slave;
>show slave status\G

在这里插入图片描述
看到如上图的效果,说明双主配置已经配置成功!

S–S

首先备份master-1的所有数据

mysqldump -u root -p'password' -A > /all.sql   //在master-1中操作

将备份的数据分别导入到slave-1slave-2

source /all.sql
或
mysql -uroot -p'password' <all.sql
slave-1

修改配置文件

vim /etc/my.cof    slave1和slave2做相同的操作
            validate_password=off
            log-bin = my3log    
            server-id = 3
            gtid_mode=ON
            enforce_gtid_consistency=1
            relay_log_info_repository = TABLE
            master_info_repository    = TABLE
            relay_log_recovery        = on

在这里插入图片描述
当slave从库宕机后,假如relay-log损坏了,导致一部分中继日志没有处理,则自动放弃所有未执行的relay-log,并且重新从master上获取日志,这样就保证了relay-log的完整性
重新启动数据库服务

systemctl restart mysqld

登录数据库
链接master-1

>help change master to 
 >edit      
      CHANGE MASTER TO
      MASTER_HOST='master-1',
      MASTER_USER='slave',
      MASTER_PASSWORD='password',
      MASTER_AUTO_POSITION=1 FOR CHANNEL 'master-1';
      
 >start slave;
 >show slave status;

在这里插入图片描述
如果有如上图效果,说明配置成功
链接master-2

>edit      
      CHANGE MASTER TO
      MASTER_HOST='master-2',
      MASTER_USER='slave',
      MASTER_PASSWORD='password',
      MASTER_AUTO_POSITION=1 FOR CHANNEL 'master-2';
      
 >start slave;
 >show slave status;

在这里插入图片描述

slave-2 (与slave-1相同的操作)

注意:

  • server-id要有不同的值
  • 如果是克隆的数据库,要注意UUID,
  • 在修改配置文件时,要注意空格
  • 导入数据时,看看slave的配置文件是否干净,
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值