高可用keepalived实例
admin
2023-04-17 23:02:37
0

高可用keepalived实例

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


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

        最简单的是使用虚拟ip:

                高可用keepalived实例

                高可用keepalived实例

                这里用另外一种方式keepalived:

                        高可用keepalived实例

                        高可用keepalived实例

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

                        高可用keepalived实例

                        配置:

                                高可用keepalived实例

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

                                高可用keepalived实例

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

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

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

                        接下来还要安装keepalived组件(它可以将两个设备虚拟成一个设备,对外提供一个虚拟ip,也就是vip):

                                高可用keepalived实例

                                (注意:在互为主从的两台设备上都要安装keepalived)

                                高可用keepalived实例

                                

                                最好情况是把主从复制改为主主复制,先完成主主复制配置:

                                        先修改主服务器上的配置vi /etc/my.cnf:

                                                高可用keepalived实例

                                                (由于这俩是动态参数,不需要重启mysql)

                                                并且在mysql客户端设置:

                                                高可用keepalived实例

                                                退出当前mysql客户端,再进入查看:

                                                高可用keepalived实例

                                        修改从服务器上的配置vi /etc/my.cnf:

                                                高可用keepalived实例

                                                (由于这俩是动态参数,不需要重启mysql)

                                                并且在mysql客户端设置:

                                                高可用keepalived实例

                                                检查从服务器的账号:

                                                高可用keepalived实例

                                                (dba_repl账号在从服务器也是存在的)

                                                由于从服务器出于read_only状态,没有写,所以不用再重新初始化数据了,因为它的数据和主上是完全一致的,因为它没有任何写操作:

                                                高可用keepalived实例

                                                查看从服务器上的点:

                                                高可用keepalived实例

                                        在主上change master(主当从,从当主):

                                                高可用keepalived实例

                                                (将master的主服务器设置为原来的从服务器)

                                                启动复制链路(原来的主服务器,现在也是从服务器):

                                                高可用keepalived实例

                                                查看:

                                                高可用keepalived实例

                                

                                安装keepalived:

                                        在两台服务器上都进行安装:yum install keepalived -y

                                        查看两台config文件:

                                        高可用keepalived实例

                                        高可用keepalived实例

                                        高可用keepalived实例

                                        高可用keepalived实例

                                        (一定要保障check_mysql.sh脚本有执行权限,两台都是)

                                        启动两台服务器的keepalived:

                                        高可用keepalived实例

                                        查看虚拟ip:

                                        高可用keepalived实例

                                        (可能需要几秒钟才产生)

                                        关掉主服务器的mysql:

                                        高可用keepalived实例

                                        同时主的keepalived也会自动kill,已释放虚拟ip(vip),它的虚拟ip也会消失:

                                        高可用keepalived实例

                                        而从服务器上有:

                                        高可用keepalived实例

                                        (至此,宕机下的无缝切换完成)

相关内容

热门资讯

中巴外长通话,王毅:希望巴方保... 2026年5月12日晚,中共中央政治局委员、外交部长王毅同巴基斯坦副总理兼外长达尔通电话。达尔介绍了...
美参议院投票批准凯文·沃什出任... △凯文·沃什(资料图)当地时间5月12日,美国参议院投票批准凯文·沃什出任美联储主席,目前相关投票程...
缺油!日本快撑不住了 日本零食巨头卡乐比为节省油墨竟将原本漂亮的包装改成了黑白两色,从“喜食”变得看上去像“丧食”。日本石...
英国首相斯塔默再遭逼宫,在内阁... 【文/观察者网 熊超然】在上周经历地方选举惨败后,作为执政党领袖的英国首相斯塔默于当地时间5月11日...
日防相声称:新西兰考虑进口日本... 据凤凰卫视报道,5月12日,日本防卫大臣小泉进次郎在记者会上表示,新西兰已将日本海上自卫队最上型改良...
小米YU7 GT“车厘子红”无... 5 月 12 日消息,博主 @王的男人、昨日晒出了小米 YU7 GT「车厘子红」实车照片。画面显示,...
中关村论坛重磅发布!大兴机场临... 3月27日,在中关村论坛数据跨境流动创新发展论坛上,北京大兴国际机场临空经济区(大兴)正式发布跨境可...
白宫公布随特朗普访华16位商界... 白宫11日公布了将随特朗普一同访华的商界领袖名单。据多家美媒报道,总共将有16位美国商界代表来到北京...
荣耀申请代码生成方法专利,提高... 国家知识产权局信息显示,南京荣耀软件技术有限公司申请一项名为“代码生成方法、电子设备及存储介质”的专...
凤凰连线:中美新一轮经贸磋商,... 中美双方将在韩国举行第七轮经贸磋商。美方的阵容和日程安排如何?在这轮磋商中有哪些关切?凤凰卫视驻韩国...