上次写的《mysql的互为主从设置》,有点问题需要解决:
如何解决三台机器的主从一致性?
其实就是查一下如何记录日志的参数,发现了解决方式:
三台: 4308 <--- 4306 (log-slave-updates)<--> 4307
(my.cnf 里面添加一行 log-slave-updates)

也就是流程变成:
4306被修改,由于4307和4308都设置4306为master,所以都会正常发给4307和4308
4307被修改,则由于4306设置4307为master,所以会收到4307的修改,但log-slave-updates的参数就有一个效果,就是记录从master发来的修改也记录在bin日志,从而发给其它serverid的slave。

4308 <--- 4306 (log-slave-updates)
↓.............↑
4307--------->
(log-slave-updates)

也就是做成一个循环,即可三个实例互为master:
4306的修改会发送到4308(slave),由于4308记录了,同时也发给它的slave(4307)
4307的修改会发送到4306(slave),由于4306记录了,同时也发给它的slave(4308)
4308的修改会发送到4307(slave),由于4307记录了,同时也发给它的slave(4306)

不知道是否有效,但是有个问题是,一个实例挂了,似乎就容易出错了。

4308(只读) <--- 4306(读写) (log-slave-updates)<--> 4307(读写)
4309(只读) <------↓
................<------↓

两个读写的数据库互备,防止写入冲突,最好是里面的数据库是单独使用,就不至于产生自增字段冲突之类的了
...DB1 |
->DB2 |-> 4307
.................↑
.................↓
->DB1 |-> 4306 <---->Slave1 Slave2...
...DB2 |    (log-slave-updates)

这样估计容易处理数据库的压力,还有待生产环境测试。

几个跟热备有关的mysql命令(参考)

SET SQL_LOG_BIN=0|1
#主机端运行,需要super权限,用来开停日志,随意开停,会造成主机从机数据不一致,造成错误
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=n
# 客户端运行,用来跳过几个事件,只有当同步进程出现错误而停止的时候才可以执行。

RESET MASTER
#主机端运行,清除所有的日志,这条命令就是原来的FLUSH MASTER
RESET SLAVE  
#从机运行,清除日志同步位置标志,并重新生成master.info
虽然重新生成了master.info,但是并不起用,最好,将从机的mysql进程重启一下,

LOAD TABLE tblname FROM MASTER
#从机运行,从主机端重读指定的表的数据,每次只能读取一个,受timeout时间限制,需要调整timeout时间。执行这个命令需要同步账号有 reload和super权限。以及对相应的库有select权限。如果表比较大,要增加net_read_timeout 和 net_write_timeout的值
LOAD DATA FROM MASTER
#从机执行,从主机端重新读入所有的数据。执行这个命令需要同步账号有reload和super权限。以及对相应的库有select权限。如果表比较大,要增加net_read_timeout 和 net_write_timeout的值

CHANGE MASTER TO master_def_list
#在线改变一些主机设置,多个用逗号间隔,比如
CHANGE MASTER TO
MASTER_HOST='master2.mycompany.com',
MASTER_USER='replication',
MASTER_PASSWORD='bigs3cret'
MASTER_POS_WAIT() #从机运行
SHOW MASTER STATUS #主机运行,看日志导出信息
SHOW SLAVE HOSTS #主机运行,看连入的从机的情况。
SHOW SLAVE STATUS (slave)
SHOW MASTER LOGS (master)
SHOW BINLOG EVENTS [ IN 'logname' ] [ FROM pos ] [ LIMIT [offset,] rows ]
PURGE [MASTER] LOGS TO 'logname' ; PURGE [MASTER] LOGS BEFORE 'date'



原创内容如转载请注明:来自 阿权的书房
收藏本文到网摘
Tags: ,
licufa
2009/03/11 22:54
你的博客很不错,我做了一个将1000个博客链接拼成一幅大图的博客拼图网,其中就收录了你的博客,欢迎你来找找看,也欢迎交换链接。我的博客,面谱 www.mianpu1000.com
分页: 1/1 第一页 1 最后页
发表评论
AD
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML 打开UBB 打开表情 隐藏
昵称   密码   游客无需密码
网址   电邮   [注册]
               

 

阅读推荐

服务器相关推荐

开发相关推荐

应用软件推荐