答案是3个:主库,读库,备库。
因为Myisam锁的管理原理,导致查询会阻塞更新,mysqlhotcopy会锁住表防止更新和查询。大大影响了系统的可用性。
这样一来,对于做读写分离的系统,除了写和读库以外,必然需要一个库来做备份和报表查询。因为报表查询一般需要很长时间,不可能允许读库被阻塞很久,而随着数据库容量增大,备份的时间也会变得很长。因此备库的作用就是缓解这2部分,备库的另外一个作用就是做复制,提到复制大家知道,做复制时必须lock住所有的表,因此读库显然不能作为这个角色。并且关键系统中,为了防止人为错误,可能会使用MYSQL的延迟复制,如何实现延迟复制可以看我的blog或者google。那么备库此时可以担当这个角色,因此即使条件再受限制,对于高可用系统,至少应该有3个库。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。