0
本帖最后由 lin19890913 于 2016-3-13 22:25 编辑
环境:由于我的笔记本无法同时带动3台虚拟机,所以我就用一台机子上的3个数据库实体作为试验
mysql1 端口:3306
mysql2 端口:3307
mysql3 端口:3308
一.保持三个数据库的初始数据同步
(1)将mysql1的mysql库备份出来:mysqldump -uroot -S /tmp/mysql1.sock mysql>123.sql
(2) 在三个mysql上都创建空数据库db1
(3) 将123.sql里的数据恢复到三个mysql各自的db1库中
mysql -uroot -S /tmp/msyql1.sock db1<123.sql
mysql -uroot -S /tmp/msyql2.sock db1<123.sql
mysql -uroot -S /tmp/msyql3.sock db1<123.sql
二.修改各自的配置文件my.cnf
server-id = 1 //3个mysql各不相同,可以依次设置为1,2,3
log-bin = mysql-bin //3个mysql可以自定义
replicate-do-db = db1 //3个mysql都一样
auto-increment-increment = 3 //每次增长3,3个mysql都一样
auto-increment-offset = 1 //设置自动增长的字段的偏移量,即初始值为1,msyql2设为2,mysql3设为3
log-slave-updates = true //是否继续传递下去为“是”,非常重要,三个mysql都必须加上!
注:二都只有server-id不同和 auto-increment- offset不同auto-increment-increment的值应设为整个结构中服务器的总数,本案例用到三个实例,所以值设为3。
都配置完后,各自重启mysql服务
环境:由于我的笔记本无法同时带动3台虚拟机,所以我就用一台机子上的3个数据库实体作为试验
mysql1 端口:3306
mysql2 端口:3307
mysql3 端口:3308
一.保持三个数据库的初始数据同步
(1)将mysql1的mysql库备份出来:mysqldump -uroot -S /tmp/mysql1.sock mysql>123.sql
(2) 在三个mysql上都创建空数据库db1
(3) 将123.sql里的数据恢复到三个mysql各自的db1库中
mysql -uroot -S /tmp/msyql1.sock db1<123.sql
mysql -uroot -S /tmp/msyql2.sock db1<123.sql
mysql -uroot -S /tmp/msyql3.sock db1<123.sql
二.修改各自的配置文件my.cnf
server-id = 1 //3个mysql各不相同,可以依次设置为1,2,3
log-bin = mysql-bin //3个mysql可以自定义
replicate-do-db = db1 //3个mysql都一样
auto-increment-increment = 3 //每次增长3,3个mysql都一样
auto-increment-offset = 1 //设置自动增长的字段的偏移量,即初始值为1,msyql2设为2,mysql3设为3
log-slave-updates = true //是否继续传递下去为“是”,非常重要,三个mysql都必须加上!
注:二都只有server-id不同和 auto-increment- offset不同auto-increment-increment的值应设为整个结构中服务器的总数,本案例用到三个实例,所以值设为3。
都配置完后,各自重启mysql服务
0
本帖最后由 lin19890913 于 2016-3-13 22:11 编辑
三.创建用户并授权
>grant replication slave on *.* to 'repl'@'127.0.0.1' identified by '123123';
>flush privileges;
ps:为了方便,防止搞混,三个mysql的授权用户名和密码都一样
三.创建用户并授权
>grant replication slave on *.* to 'repl'@'127.0.0.1' identified by '123123';
>flush privileges;
ps:为了方便,防止搞混,三个mysql的授权用户名和密码都一样
0
本帖最后由 lin19890913 于 2016-3-13 22:22 编辑
四.依次进行主从配置,具体为A主B从,B主C从,C主A从,连起来形成环状,A->B->C->A
1.进入mysql1
flush tables with read lock;
show master status; //记下前面两列内容
进入mysql2
slave stop;
change master to master_host='127.0.0.1', master_port=3306, master_user='repl', master_password='123123', master_log_file='mysql-bin.000006', master_log_pos=474952;
slave start;
mysql1解锁表:unlock tables;
mysql2查看slave 状态:show slave status\G; //查看有无两个YES
2.mysql2和mysql3之间,mysql3和mysql1之间重复上面的操作,配置好相互之间的主从关系(注意chang master时,注意三个加黑加粗的部分)
四.依次进行主从配置,具体为A主B从,B主C从,C主A从,连起来形成环状,A->B->C->A
1.进入mysql1
flush tables with read lock;
show master status; //记下前面两列内容
进入mysql2
slave stop;
change master to master_host='127.0.0.1', master_port=3306, master_user='repl', master_password='123123', master_log_file='mysql-bin.000006', master_log_pos=474952;
slave start;
mysql1解锁表:unlock tables;
mysql2查看slave 状态:show slave status\G; //查看有无两个YES
2.mysql2和mysql3之间,mysql3和mysql1之间重复上面的操作,配置好相互之间的主从关系(注意chang master时,注意三个加黑加粗的部分)
0
本帖最后由 lin19890913 于 2016-3-13 22:17 编辑
五.测试
在三个mysql中任意一个上进行增删表操作,查看另外两个有无同步变化,如果严格按照上面的步骤和配置进行,应该不会出错
至此,mysql环形主从配置成功!
五.测试
在三个mysql中任意一个上进行增删表操作,查看另外两个有无同步变化,如果严格按照上面的步骤和配置进行,应该不会出错
至此,mysql环形主从配置成功!
0
本帖最后由 wsw13640218682 于 2016-3-13 22:43 编辑
(分开三台虚拟机)前几天我想弄个2主一从(使用过 log-slave-updates = true这参数),但出了点问题(主从数据不能同步),后来将主从重组后,一主二从的结构成了,但想再弄多个主进去变成2主2从,请问可不可以固定两个主的吗,它的设置也和你这个一样?
(分开三台虚拟机)前几天我想弄个2主一从(使用过 log-slave-updates = true这参数),但出了点问题(主从数据不能同步),后来将主从重组后,一主二从的结构成了,但想再弄多个主进去变成2主2从,请问可不可以固定两个主的吗,它的设置也和你这个一样?
0
这个环形主从会不会造成mysql读写分离的混乱?
lin19890913 发表于 2016-3-13 22:09
五.测试
在三个mysql中任意一个上进行增删表操作,查看另外两个有无同步变化,如果严格 ...
这个环形主从会不会造成mysql读写分离的混乱?
0
本帖最后由 乐橙306 于 2016-3-14 09:08 编辑
1.插楼 是我的不对
2.mysql环形主从 它的作用是? 适用对数据库 增,删,改 操作频繁的平台?
3.如果你让提一个mysql 高可用的方案 你打算怎么做?
lin19890913 发表于 2016-3-13 22:24
不要插楼好吗?我这是多主(mysql环形主从)不是高可用
1.插楼 是我的不对
2.mysql环形主从 它的作用是? 适用对数据库 增,删,改 操作频繁的平台?
3.如果你让提一个mysql 高可用的方案 你打算怎么做?
0
兄弟你原理搞清楚没?一个从只能有一个主!2主一从不合逻辑!
wsw13640218682 发表于 2016-3-13 22:39
(分开三台虚拟机)前几天我想弄个2主一从(使用过 log-slave-updates = true这参数),但出了点问题(主从 ...
兄弟你原理搞清楚没?一个从只能有一个主!2主一从不合逻辑!
0
具体这个环形主从会应用到什么平台,我不清楚,我只是想试验下环形主从怎么个配置法,其他的没多想,你可以试验下
乐橙306 发表于 2016-3-14 08:56
1.插楼 是我的不对
2.mysql环形主从 它的作用是? 适用对数据库 增,删,改 操作频繁的平台?
3.如 ...
具体这个环形主从会应用到什么平台,我不清楚,我只是想试验下环形主从怎么个配置法,其他的没多想,你可以试验下
0
技术是用来解决当前问题的 不要为了用技术而用技术
第三点呢? 有没有简单+ 易实施+ 已实施 的架构 ,我知道的一个方案是 MHA ,实施起来 比较麻烦 。
lin19890913 发表于 2016-3-14 09:23
具体这个环形主从会应用到什么平台,我不清楚,我只是想试验下环形主从怎么个配置法,其他的没多想,你可 ...
技术是用来解决当前问题的 不要为了用技术而用技术
第三点呢? 有没有简单+ 易实施+ 已实施 的架构 ,我知道的一个方案是 MHA ,实施起来 比较麻烦 。
0
我无语,我都说了我只是试验下环形主从怎么搭,其他的我没去想,你可以自己扩展研究下
乐橙306 发表于 2016-3-14 09:45
技术是用来解决当前问题的 不要为了用技术而用技术
第三点呢? 有没有简单+ 易实施+ 已实施 ...
我无语,我都说了我只是试验下环形主从怎么搭,其他的我没去想,你可以自己扩展研究下
0
{:6_137:}
两主一从不应该是简单的主从关系,如果简单的主从关系,两主之间的数据肯定会不同步。
所以我觉得应该先做两主直接的互为主从的配置,然后再以其中一个为主,再加一个从
wsw13640218682 发表于 2016-3-13 22:39
(分开三台虚拟机)前几天我想弄个2主一从(使用过 log-slave-updates = true这参数),但出了点问题(主从 ...
{:6_137:}
两主一从不应该是简单的主从关系,如果简单的主从关系,两主之间的数据肯定会不同步。
所以我觉得应该先做两主直接的互为主从的配置,然后再以其中一个为主,再加一个从
0
我觉得环形结构是从主主结构上拓展出来的,可以用作高可用
乐橙306 发表于 2016-3-14 08:56
1.插楼 是我的不对
2.mysql环形主从 它的作用是? 适用对数据库 增,删,改 操作频繁的平台?
3.如 ...
我觉得环形结构是从主主结构上拓展出来的,可以用作高可用
0
它实现不了高可用 这能提供负载均衡 说了是环形 所以具有环形的缺点 一个节点瘫痪 这个集群就瘫痪了“数据无法传递”
maria 发表于 2016-3-14 11:06
我觉得环形结构是从主主结构上拓展出来的,可以用作高可用
它实现不了高可用 这能提供负载均衡 说了是环形 所以具有环形的缺点 一个节点瘫痪 这个集群就瘫痪了“数据无法传递”
0
几个mysql?如果是3个,A,B,C 那么AB互为主从,C单独作为A或B的从
如果是4个,A,B,C,D 那么AB互为主从,C单独作为A的从,D单独作为B的从
这种方法能实现你的目的
wsw13640218682 发表于 2016-3-14 12:40
我其实就是想要主主同步,还有是主从同步的功能
几个mysql?如果是3个,A,B,C 那么AB互为主从,C单独作为A或B的从
如果是4个,A,B,C,D 那么AB互为主从,C单独作为A的从,D单独作为B的从
这种方法能实现你的目的
0
B已经做了A的从,D也可以做B的从?因为我将主从重组后,A已作为BC的主,所以我要做的是准备新增的那一台D只要将change master to master host='B的ip' .......;即可?
lin19890913 发表于 2016-3-14 13:53
几个mysql?如果是3个,A,B,C 那么AB互为主从,C单独作为A或B的从
如果是4个,A,B,C,D 那么AB互为主 ...
B已经做了A的从,D也可以做B的从?因为我将主从重组后,A已作为BC的主,所以我要做的是准备新增的那一台D只要将change master to master host='B的ip' .......;即可?
0
C<----A<----->B---->D
C是A的从,D是B的从,AB互为主从。 A是主,BC是A的从;B是主,AD是B的从
按照你的意思,拓扑图应该是这样的
wsw13640218682 发表于 2016-3-14 14:56
B已经做了A的从,D也可以做B的从?因为我将主从重组后,A已作为BC的主,所以我要做的是准备新增的那一台D ...
C<----A<----->B---->D
C是A的从,D是B的从,AB互为主从。 A是主,BC是A的从;B是主,AD是B的从
按照你的意思,拓扑图应该是这样的
0
是的..差不多这样,其实早上时候我是打错了{:4_99:},我是要AB互为主主,同时A和D都是BC的主,这样可以不?我最终目的就是加插一个D来也做主
lin19890913 发表于 2016-3-14 17:51
CD
C是A的从,D是B的从,AB互为主从。 A是主,BC是A的从;B是主,AD是B的从
按照你的意思,拓 ...
是的..差不多这样,其实早上时候我是打错了{:4_99:},我是要AB互为主主,同时A和D都是BC的主,这样可以不?我最终目的就是加插一个D来也做主
0
不行,每个从只能有一个主
wsw13640218682 发表于 2016-3-14 21:16
是的..差不多这样,其实早上时候我是打错了,我是要AB互为主主,同时A和D都是BC的主,这样可以不 ...
不行,每个从只能有一个主
编辑回复