欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

windows下 主主复制 搭建

程序员文章站 2024-03-21 09:02:58
...

主主复制的原理图 
windows下 主主复制 搭建 
作用: 单向复制有利于健壮性、速度和系统管理:

•主服务器/从服务器设置增加了健壮性。主服务器出现问题时,你可以切换到从服务器作备份。

•通过在主服务器和从服务器之间切分处理客户查询的负荷,可以得到更好的客户响应时间。SELECT查询可以发送到从服务器以降低主服务器的查询处理负荷。但修改数据的语句仍然应发送到主服务器,以便主服务器和从服务器保持同步。如果非更新查询为主,该负载均衡策略很有效,但一般是更新查询。

•使用复制的另一个好处是可以使用一个从服务器执行备份,而不会干扰主服务器。在备份过程中主服务器可以继续处理更新。

MySQL提供了数据库的同步功能,这对我们事先数据库的容灾、备份、恢复、负载均衡等都是有极大帮助的。

开始搭建: 
首先我们得有两台不同端口的mysql连接 
我的是master【3306】和master1[相当于从数据库3307]

  1. 给两台数据库连接建立用户

打开master新建查询

GRANT REPLICATION SLAVE,RELOAD,SUPER ON . TO aaa@qq.com’%’ 
IDENTIFIED BY ‘123456’;

打开master2

GRANT REPLICATION SLAVE,RELOAD,SUPER ON . TO aaa@qq.com’%’ 
IDENTIFIED BY ‘123456’;

2.修改mysql的配置文件

master的my.ini

[mysqld]
server-id = 1
log-bin = mysql-bin
auto-increment-increment= 2 # 应设为整个结构中服务器的总数
auto-increment-offset = 1  # 设定数据库中自动增长的起点,避免两台服务器数据同步时出现主键冲突 

master1的my.ini

[mysqld]
server-id = 2
log-bin = mysql-bin
auto-increment-increment= 2
auto-increment-offset = 2

3.操作master

CHANGE MASTER TO master_host = '127.0.0.1',
 master_port = 3307,#注意连接 master1 
 master_user = 'mysql_backup',
 master_password = '123456',
 master_log_file = 'mysql-bin.000015',#master1中的show   master status;的file
 master_log_pos = 1813;#master1 中的 position

flush privileges;#刷新权限

start slave;

stop slave;#执行之前先stop slave

show master status;

Show slave status

操作master1

CHANGE MASTER TO master_host = '127.0.0.1',
 master_user = 'mysql_backup',
 master_password = '123456',
 master_log_file = 'mysql-bin.000011',#master 中的file
 master_log_pos = 2040;#master 中的position

flush privileges;#刷新权限

stop slave;#记住先关闭再执行

start slave;

show master status;

Show slave status

4.测试 
master 中的IO 线程和SQL 线程都是Yes 
windows下 主主复制 搭建

master1 
master1 中的IO 线程和SQL 线程都是Yes 
windows下 主主复制 搭建

这时候我们就可以分别到数据表中添加数据,无论我们在master中加入数据还是master1加入数据,数据源都是双向同步的,那就ok