Mysql 双master 主主同步

本文详细介绍了如何在MySQL环境中实现双Master模式,并通过具体步骤进行配置与操作,包括登录远程界面、开启slave权限、修改配置文件、设置二进制日志、重启服务、检查状态、验证同步等关键步骤。

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

简述:

实现Mysql 双master


参考:

http://www.jb51.net/article/38657.htm

http://tianyaono1.blog.163.com/blog/static/39051387200811103036445/


环境:

主机: 192.168.1.100(A)

主机: 192.168.1.150(B)


步骤:

1.

mysql -uroot -p;

进入两台机器的 mysql>  界面

登陆远程的mysql命令行界面

mysql -uroot -psql -h192.168.1.150 -P3306;


分别在A, B两台数据库中打开slave权限

grant replication slave,file on *.* to 'root'@'192.168.1.150' identified by 'sql';
flush privileges;
grant replication slave,file on *.* to 'root'@'192.168.1.100' identified by 'sql';
flush privileges;

操作成功后,



2. 修改配置文件

windows的话就需要在my.ini里面开启二进制日志

100的机子,在ini文件末尾加上

# 双master
user=mysql
log-bin=mysql-bin
server-id=1
binlog-do-db=test_db
binlog-ignore-db=mysql
replicate-do-db=test_db
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
skip-name-resolve
sync_binlog=1
auto_increment_increment=2
auto_increment_offset=1

150的机子,在ini文件末尾加上

user=mysql
log-bin=mysql-bin
server-id=2
binlog-do-db=test_db
binlog-ignore-db=mysql
replicate-do-db=test_db
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
skip-name-resolve
sync_binlog=1
auto_increment_increment=2
auto_increment_offset=2

之后,services.msc中重启mysql的服务



3. 查看修改状态

flush tables with read lock;
show master status;



4. 在各自机器上执行change master to

100的server

change master to
master_host='192.168.1.150',
master_user='root',
master_password='sql',
master_log_file='mysql-bin.000002',
master_log_pos=106;

150的server

change master to
master_host='192.168.1.100',
master_user='root',
master_password='sql',
master_log_file='mysql-bin.000002',
master_log_pos=106;

在两台机器上,开启slave




5. 查看机器的IO进程和slave是否都开启

IO进程,做的是从master把二进制日志同步过来, slave进程做的是在本机执行已经同步到本机的二进制日志,就是复制master的数据操作

show processlist;

100机器上的command打印



之后

unlock tables


6, 验证

在100的机子上创建表

use test_db;
create table test_schema (
  id char(36) not null,
  name varchar(10),
  primary key(id)
);
insert into test_schema (id, name) values('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'little a');


之后查看150的机子,顺利同步过去了


在150的做一下验证,再新增一条

insert into test_schema (id, name) values('bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'little b');

顺利同步














评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值