MySQL主主复制

本文详细介绍了如何配置MySQL的主主复制,包括在两台主库上编辑配置文件、授权用户、执行复制命令,以及如何实现双方向的数据库同步。通过这种方式,可以构建高可用的数据库容灾方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、编辑mysql配置文件设置相关参数和配置授权用户

主库1:(192.168.16.3:3306)

        编辑配置文件,然后重启服务

[mysqld]
log_error=/var/log/mysql/error.log
log-bin=mysql-bin            # 开机bin-log
server-id=1                  
auto_increment_increment=2   # 自增键步长(根据主主数量配置,防止复制时出现主键冲突)
auto_increment_offset=1      # 自增键偏移量(起始值)
replicate-do-db=test         # 指定要复制的数据库

在主1上创建给主2的授权用户 repl1

create user 'repl1'@'192.168.16.2' identified by '111111';
grant replication slave on *.* to 'repl1'@'192.168.16.2' identified by '111111'; 
flush privileges;

 

主库2:(192.168.16.2:3306)

        编辑配置文件,然后重启服务

[mysqld]
log_error=/var/log/mysql/error.log
log-bin=mysql-bin
server-id=2
auto_increment_increment=2
auto_increment_offset=2
replicate-do-db=test

在主2上创建给主1的授权用户 repl2

create user 'repl2'@'192.168.16.3' identified by '111111';
grant replication slave on *.* to 'repl2'@'192.168.16.3' identified by '111111'; 
flush privileges;

 

二、分别在2台主库上执行复制命令

主库1:(192.168.16.3:3306)

 根据主2的master信息和配置的授权用户信息在主1命令行中 执行主从复制命令

change master to
    master_host='192.168.16.2',
    master_port=3306,
    master_user='repl2',
    master_password='111111',
    master_log_file='mysql-bin.000001',
    master_log_pos=154;

start slave;

 

主库2:(192.168.16.2:3306)

 根据主1的master信息和配置的授权用户信息在主2命令行中 执行主从复制命令 

change master to
    master_host='192.168.16.3',
    master_port=3306,
    master_user='repl1',
    master_password='111111',
    master_log_file='mysql-bin.000001',
    master_log_pos=154;

start slave;

 

 

 如果只配置其中1台,那么其实就已经完成了主从复制的配置,主主复制也就是2台数据库相互复制,按主从配置我们在另外的数据库上按照相同的配置方法再配置一次,即完成了主主复制的配置。综合主从、主主复制的配置案例,在此基础就可以扩展自己需要的数据库容灾方案了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值