高可用keepalived实例

image.png

主从数据库服务器的数据会最终一致(因为mysql复制是异步的,总会存在延迟),看似解决了单点问题,然而该方案并不完美。因为一旦主服务器宕机,必须手动把读写连接切换到原来的从服务器上,而这个过程需要时间,短则几分钟,长则数小时,这期间服务会出于瘫痪状态。


怎样在master宕机后,自动切换数据库连接呢?

        最简单的是使用虚拟ip:

                image.png

                image.png

                这里用另外一种方式keepalived:

                        image.png

                        image.png

                        (要注意同一时间只有一个主对外提供服务,另一个处于只读状态)

                        image.png

                        配置:

                                image.png

                                (指定id增长步长为2,自增id从1开始增长,于是主库上的id增长就是1、3、5、7、9...  注意,这参数修改是针对整个mysql服务器全局的,而不是针对某个表某个库的,也就是说,一旦修改后,该服务器下所有库表的值都是按照这种方式增加的

                                image.png

                                (指定id增长步长为2,自增id从2开始增长,于是主库上的id增长就是2、4、6、8、10...  注意,这参数修改是针对整个mysql服务器全局的,而不是针对某个表某个库的,也就是说,一旦修改后,该服务器下所有库表的值都是按照这种方式增加的

                                (经过上述设置,主备之间的主键id增长就不会产生冲突了)

                        (前面说过innodb的主键最好采用自增id的列,而在主主复制中为了避免两个组同时写所带来的主键冲突,我们需要修改自增主键的配置使两个自增主键按照不同的步长值来增长,当然这是为了以防万一才采取的配置,当我们使用主主复制时,最安全的方式还是要保障在任意时间均只有一个作为主提供服务,而另一个主只提供只读)

                        接下来还要安装keepalived组件:

                                


猜你喜欢

转载自blog.51cto.com/5660061/2390319
今日推荐