keepalived+mysql实现双主高可用

MySQL+KeepAlived实现双主高可用方案实践 目录 1、什么叫双主高可用(双机热备) 2、搭建主主同步 3、配置MySQL+Keepalived故障转移的高可用环境 4、测试 5、MyCAT双主高可用 5.1 架构图 5.2 准备环境 5.3 高可用配置 1、什么叫双主高可用(双机热备) 我们通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务。当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短。MySQL双主复制,即互为Master-Slave(只有一个Master提供. 阅读详情

环境:

DB1:centos6.8、mysql5.5、192.168.2.204  hostname:bogon

DB2:centos6.8、mysql5.5、192.168.2.205  hostname:localhost.localdomain

vip:192.168.2.33

 

一、先配置DB1和DB2的双主热备

 

1、分别在DB1和DB2上安装mysql,我这里是用的ansible自动部署

复制代码
[root@www ansible]# ansible-playbook lnmp.yml 

PLAY [new] *********************************************************************

TASK [setup] *******************************************************************
ok: [192.168.2.205]
ok: [192.168.2.204]

TASK [mysql : Create backup folder] ********************************************
ok: [192.168.2.204]
ok: [192.168.2.205]

TASK [mysql : create log folder] ***********************************************
changed: [192.168.2.204]
changed: [192.168.2.205]

TASK [mysql : copy mysql_tar_gz to client] *************************************
changed: [192.168.2.204]
changed: [192.168.2.205]

TASK [mysql : copy install_script to client] ***********************************
changed: [192.168.2.204]
changed: [192.168.2.205]

TASK [mysql : copy my.cnf to /data/backup] *************************************
changed: [192.168.2.204]
changed: [192.168.2.205]

TASK [mysql : install mysql] ***************************************************
changed: [192.168.2.204]
changed: [192.168.2.205]

PLAY RECAP *********************************************************************
192.168.2.204              : ok=7    changed=5    unreachable=0    failed=0   
192.168.2.205              : ok=7    changed=5    unreachable=0    failed=0   
复制代码

2、修改mysql的配置文件

首先修改DB1主机的配置文件,在/etc/my.cnf文件中的[mysqld]段添加以下内容

复制代码
[root@bogon ~]# vim /etc/my.cnf
server-id = 1    #节点标示,主从节点不能相同,必须全局唯一
log-bin=mysql-bin  #开启mysql的binlog日志功能
relay-log = mysql-relay-bin   #开启relay-log日志,relay-log日志记录的是从服务器I/O线程将主服务器的二进制日志读取过来记录到从服务器本地文件,然后SQL线程会读取relay-log日志的内容并应用到从服务器
replicate-wild-ignore-table=mysql.%  #复制过滤选项
replicate-wild-ignore-table=test.%
replicate-wild-ignore-table=information_schema.%
复制代码

 

然后修改DB2主机的配置文件,

复制代码
[root@localhost ~]# vim /etc/my.cnf
server-id = 2
log-bin=mysql-bin
relay-log = mysql-relay-bin
replicate-wild-ignore-table=mysql.%
replicate-wild-ignore-table=test.%
replicate-wild-ignore-table=information_schema.%
复制代码

最后分别重启DB1和DB2使配置生效

 

3、创建复制用户并授权

注:在执行主主互备之前要保证两台server上数据一致

 

首先在DB1的mysql库中创建复制用户

复制代码
mysql> grant replication slave on *.* to 'repl_user'@'192.168.2.205' identified by 'repl_passwd';
Query OK, 0 rows affected (0.04 sec)

mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000004 |      271 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
复制代码

然后在DB2的mysql库中将DB1设为自己的主服务器

复制代码
mysql> change master to \
    -> master_host='192.168.2.204',  
    -> master_user='repl_user',
    -> master_password='repl_passwd',
    -> master_log_file='mysql-bin.000004',  
    -> master_log_pos=271;
Query OK, 0 rows affected (0.07 sec)
复制代码

这里需要注意master_log_file和master_log_pos两个选项,这两个选项的值是在DB1上通过“show master status” 查询到的结果

 

接着在DB2上启动slave服务

mysql> start slave;
Query OK, 0 rows affected (0.01 sec)

下面查看DB2上slave的运行状态,

复制代码
mysql> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.2.204
                  Master_User: repl_user
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000005
          Read_Master_Log_Pos: 271
               Relay_Log_File: mysql-relay-bin.000002
                Relay_Log_Pos: 253
        Relay_Master_Log_File: mysql-bin.000005
             Slave_IO_Running: Yes    #重点
            Slave_SQL_Running: Yes    #重点
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
  Replicate_Wild_Ignore_Table: mysql.%,test.%,information_schema.%  #跳过的表
                   Last_Errno: 0
                   Last_Error: 
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 271
              Relay_Log_Space: 409
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 0
               Last_SQL_Error: 
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 1
1 row in set (0.00 sec)
复制代码

到这里,从DB1到DB2的mysql主从复制已经完成。接下来开始配置从DB2到DB1的mysql主从复制

在DB2的mysql库中创建复制用户

复制代码
mysql> grant replication slave on *.* to 'repl_user'@'192.168.2.204' identified by 'repl_passwd';
Query OK, 0 rows affected (0.00 sec)

mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000005 |      271 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
复制代码

然后在DB1的mysql库中将DB2设为自己的主服务器

复制代码
mysql> change master to \
    -> master_host='192.168.2.205',
    -> master_user='repl_user',
    -> master_password='repl_passwd',
    -> master_log_file='mysql-bin.000005',
    -> master_log_pos=271;
Query OK, 0 rows affected (0.07 sec)
复制代码

最后,在DB1上启动slave服务

mysql> start slave;
Query OK, 0 rows affected (0.01 sec)

查看DB1上slave的运行状态

复制代码
mysql> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.2.205
                  Master_User: repl_user
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000005
          Read_Master_Log_Pos: 271
               Relay_Log_File: mysql-relay-bin.000002
                Relay_Log_Pos: 253
        Relay_Master_Log_File: mysql-bin.000005
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
  Replicate_Wild_Ignore_Table: mysql.%,test.%,information_schema.%
                   Last_Errno: 0
                   Last_Error: 
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 271
              Relay_Log_Space: 409
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 0
               Last_SQL_Error: 
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 2
1 row in set (0.00 sec)
复制代码

 

二、配置keepalived实现mysql双主高可用

1、安装keepalived

复制代码
[root@bogon src]# tar zxf keepalived-1.2.24.tar.gz 
[root@bogon src]# cd keepalived-1.2.24
[root@bogon keepalived-1.2.24]# ./configure --sysconf=/etc --with-kernel-dir=/lib/modules/2.6.32-642.3.1.el6.x86_64/
[root@bogon keepalived-1.2.24]# make && make install
[root@bogon keepalived-1.2.24]# ln -s /usr/local/sbin/keepalived /sbin/
[root@bogon keepalived-1.2.24]# chkconfig --add keepalived
[root@bogon keepalived-1.2.24]# chkconfig --level 35 keepalived on
[root@bogon keepalived-1.2.24]# yum  -y install ipvsadm  ####之前没安装ipvsadm,导致 keepalived配置中lvs配置部分不生效,其中定义的notify_down 字段死活不生效,查了好久在发现是没安装ipvsadm导致的,泪奔!!!
[root@bogon keepalived-1.2.24]# ipvsadm
复制代码

2、配置keepalived

DB1上keepalived.conf配置为

复制代码
[root@bogon keepalived-1.2.24]# cat /etc/keepalived/keepalived.conf 
! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}




vrrp_instance HA_1 {
    state BACKUP    #在DB1和DB2上均配置为BACKUP
    interface eth1
    virtual_router_id 90 
    priority 100
    advert_int 1
    nopreempt    #不抢占模式,只有优先级高的机器上设置即可,优先级低的机器可不设置
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
    192.168.2.33
    }
}

virtual_server 192.168.2.33 3306 {
     delay_loop 2
     lb_algo wrr
     lb_kind DR
     persistence_timeout 60  #会话保持时间 
     protocol TCP
     real_server 192.168.2.204 3306 {
         weight 3
         notify_down /root/shutdown.sh  #检测到服务down后执行的脚本 
         TCP_CHECK {
             connect_timeout 10  #连接超时时间
             nb_get_retry 3    #重连次数
             delay_before_retry 3   #重连间隔时间  
             connect_port 3306     #健康检查端口
         } 
     }
}
复制代码

 

 

DB2上keepalived.conf配置为

复制代码
[root@localhost keepalived-1.2.24]# cat /etc/keepalived/keepalived.conf 
! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}




vrrp_instance HA_1 {
    state BACKUP
    interface eth1
    virtual_router_id 90 
    priority 90
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
    192.168.2.33
    }
}

virtual_server 192.168.2.33 3306 {
     delay_loop 2
     lb_algo wrr
     lb_kind DR
     persistence_timeout 60
     protocol TCP
     real_server 192.168.2.205 3306 {
         weight 3
         notify_down /root/shutdown.sh
         TCP_CHECK {
             connect_timeout 10
             nb_get_retry 3
             delay_before_retry 3
             connect_port 3306
         } 
     }
}
复制代码

 

编写检测服务down后所要执行的脚本shutdown.sh

[root@bogon ~]# cat /root/shtdown.sh 
#!/bin/bash
killall keepalived

注:此脚本是上面配置文件notify_down选项所用到的,keepalived使用notify_down选项来检查real_server的服务状态,当发现real_server服务故障时,便触发此脚本;我们可以看到,脚本就一个命令,通过killall keepalived强制杀死keepalived进程,从而实现了MySQL故障自动转移。另外,我们不用担心两个MySQL会同时提供数据更新操作,因为每台MySQL上的keepalived的配置里面只有本机MySQL的IP+VIP,而不是两台MySQL的IP+VIP

 

启动keepalived并查看日志

复制代码
[root@bogon keepalived-1.2.24]# chmod 755 /etc/init.d/keepalived 
[root@bogon keepalived-1.2.24]# service keepalived start
正在启动 keepalived:                                      [确定]
[root@bogon keepalived-1.2.24]# tail -f /var/log/messages
Oct 24 22:37:35 bogon Keepalived_vrrp[20835]: Sending gratuitous ARP on eth1 for 192.168.2.33
Oct 24 22:37:35 bogon Keepalived_vrrp[20835]: Sending gratuitous ARP on eth1 for 192.168.2.33
Oct 24 22:37:35 bogon Keepalived_vrrp[20835]: Sending gratuitous ARP on eth1 for 192.168.2.33
Oct 24 22:37:35 bogon Keepalived_vrrp[20835]: Sending gratuitous ARP on eth1 for 192.168.2.33
Oct 24 22:37:40 bogon Keepalived_vrrp[20835]: Sending gratuitous ARP on eth1 for 192.168.2.33
Oct 24 22:37:40 bogon Keepalived_vrrp[20835]: VRRP_Instance(HA_1) Sending/queueing gratuitous ARPs on eth1 for 192.168.2.33
Oct 24 22:37:40 bogon Keepalived_vrrp[20835]: Sending gratuitous ARP on eth1 for 192.168.2.33
Oct 24 22:37:40 bogon Keepalived_vrrp[20835]: Sending gratuitous ARP on eth1 for 192.168.2.33
Oct 24 22:37:40 bogon Keepalived_vrrp[20835]: Sending gratuitous ARP on eth1 for 192.168.2.33
Oct 24 22:37:40 bogon Keepalived_vrrp[20835]: Sending gratuitous ARP on eth1 for 192.168.2.33
复制代码

 

三、测试功能

1、在远程客户端通过vip登陆测试

复制代码
[root@www ansible]# mysql -h 192.168.2.33 -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2372
Server version: 5.5.37-log Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

  mysql> show variables like "%hostname%"
  -> ;
  +---------------+-------+
  | Variable_name | Value |
  +---------------+-------+
  | hostname | bogon |
  +---------------+-------+
  1 row in set (0.00 sec)

 

复制代码

从sql输出结果看,可以通过vip登陆,并且登陆了DB1服务器

 

2、创建一个数据库,然后在这个库重创建一个表,并插入数据

复制代码
mysql> create database repldb;
Query OK, 1 row affected (0.02 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| repldb             |
| test               |
+--------------------+
5 rows in set (0.06 sec)

mysql> use repldb;
Database changed
mysql> create table repl_table(id int,email varchar(80),password varchar(40) not null);
Query OK, 0 rows affected (0.03 sec)

mysql> show tables;
+------------------+
| Tables_in_repldb |
+------------------+
| repl_table       |
+------------------+
1 row in set (0.01 sec)

mysql> insert into repl_table(id,email,password) values(1,"master@163.com","qweasd");
Query OK, 1 row affected (0.00 sec)
复制代码

 

登陆DB2主机的mysql,可数据是否复制成功

复制代码
mysql> show variables like "%hostname%";
+---------------+-----------------------+
| Variable_name | Value                 |
+---------------+-----------------------+
| hostname      | localhost.localdomain |
+---------------+-----------------------+
1 row in set (0.01 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| repldb             |
| test               |
+--------------------+
5 rows in set (0.05 sec)

mysql> use repldb;
Database changed
mysql> show tables;
+------------------+
| Tables_in_repldb |
+------------------+
| repl_table       |
+------------------+
1 row in set (0.00 sec)


mysql> select * from repl_table;
+------+----------------+----------+
| id   | email          | password |
+------+----------------+----------+
|    1 | master@163.com | qweasd   |
+------+----------------+----------+
1 row in set (0.08 sec)
复制代码

3、停止DB1主机上的mysql,查看故障是否自动转移

[root@bogon ~]# service mysqld stop
Shutting down MySQL.. SUCCESS! 

 登陆192.168.2.33查看:

复制代码
mysql> show variables like "%hostname%";
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    610
Current database: repldb

+---------------+-----------------------+
| Variable_name | Value                 |
+---------------+-----------------------+
| hostname      | localhost.localdomain |
+---------------+-----------------------+
1 row in set (0.01 sec)
复制代码

可以看到现在登陆的是DB2 故障自动切换成功

接着,插入数据看DB1是否能复制

复制代码
mysql> insert into repl_table(id,email,password) values(2,"slave@163.com","qweasd");
Query OK, 1 row affected (0.06 sec)

mysql> use repldb;
Database changed
mysql> select * from repl_table;
+------+----------------+----------+
| id   | email          | password |
+------+----------------+----------+
|    1 | master@163.com | qweasd   |
|    2 | slave@163.com  | qweasd   |
+------+----------------+----------+
2 rows in set (0.00 sec)
复制代码

登陆DB1查看表数据

复制代码
[root@bogon ~]# service mysqld start
Starting MySQL. SUCCESS! 
[root@bogon ~]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.5.37-log Source distribution

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use repldb;
Database changed
mysql> select * from repl_table;
+------+----------------+----------+
| id   | email          | password |
+------+----------------+----------+
|    1 | master@163.com | qweasd   |
|    2 | slave@163.com  | qweasd   |
+------+----------------+----------+
2 rows in set (0.02 sec)
复制代码

复制成功!

 

到此全部完成!!!

在Linux上实现DB2双机HA完整方案 本文档介绍在SuSE Linux Enterprise Server v8.0(SLES 8)上安装配置DB2 UDB Enterprise Serverv8.2双机互备的高可靠性方案的基本步骤。该方案配合采用SLES的卷管理器(LVM)和Veritas Cluster Server v2.2(VCS 2.2)作为HA实现组件。 立即下载

相关推荐

火星遥感数据的获取与处理工具安装详解

有关火星遥感影像数据的那些事...

FengYingLuo的博客 5577

ansible-playbook一键部署mysql双主集群

前面的博客中,介绍过mysql的双主集群的搭建,那么ansible就是将之前的手动的操作过程转换成剧本的方式,然后执行剧本,就完成了mysql的双主集群的搭建,具体的搭建过程可看之前的mysql的博客模块,下面是ansible部署mysql双主的文件结构 [root@wyl01 mysql]# tree . ├── group_vars │ └── mysql.yml # 存放...

wyl9527的博客 3879

ANSYS WB 网格划分详解与技巧

本文详细介绍了网格操作中的关键设置与功能选项。主要内容包括:1)网格显示风格与物理偏好设置;2)单元阶次选择对精度的影响;3)单元尺寸控制方法;4)尺寸调整功能,重点讲解了自适应尺寸调整、增长率控制和捕获曲率等选项;5)网格质量评估标准;6)四种主要划分方法(四面体、六面体主导、扫掠、多区域)的特点与适用场景;7)三种尺寸调整方式(直接调整、边缘尺寸调整、影响范围调整)的具体应用。文章强调在实际建模中需要根据模型特点合理选择网格参数,平衡计算精度与效率。

2403_87939837的博客 1701

MySQL数据库实现双主+高可用

暂停master01后master02。1>修改master01。2>修改master02。

weixin_73725203的博客 1580

数字IC/FPGA笔试题收集讨论-华为2022硬件逻辑题题解

华为2022届硬件逻辑 时间2021.7.28 习题题解,收集自网络。

z6026294的博客 6292

SMPTE ST 2110 概论(三)

SMPTE ST 2110 概论(三)ST 2110-30:未压缩的PCM音频流ST 2110-31:非PCM音频传输ST 2110-40:辅助数据传输结语 ST 2110-30:未压缩的PCM音频流 鉴于音频系统是广播系统中最复杂,也是最重要的一套系统,我们先来回顾一下广电音频系统的历史。 最老式的音频都是基于模拟信号的,具有有限的动态范围,并且用连续的电压变化来描述音频。再后来就基于数字信号(...

Cidd0422的博客 1万+

Mysql双主数据库搭建及个人理解

在正式操作前,先说一下数据库架构的作用(纯个人理解,不喜欢就喷):在一些频繁调用数据库读取数据的场景下,单个数据库的负载有限,可能会扛不住奔溃,所以我们可以通过负载均衡和双主架构来分流,减轻服务器压力;又或者用主从来做读写分离,以增加读写速度;同时主从架构也可以在主数据库出问题后及时让从数据库顶替主数据库工作,从而减少对业务的影响,我的恩师之前常说的一句话就是,一切工作都是围绕业务开展的。

zxb2385807597的博客 1753

PMP--工件

合同是指对双方都有约束力的协议,强制卖方提供规定的产品、服务或结果,以及强制买方支付相应的费用。它还可能包括处于中间状态的特性,例如已设计但尚未构建的特性、质量保证中的特性或测试中的特性。RACI 矩阵是一种常见的方法,用于显示执行、担责、咨询或知情,且与项目活动、决策和可交付物有关的干系人。计划是提议的实现某种目标的方式。在项目开始前或开始时创建的文件,涉及与项目有关的战略、商业或高层级的信息。或 © 它们是用特定方法创建的结果,例如,虽然成本估算结果是一个重要工件,它们是用不同估算方法得出的结果。

stqer的博客 1666

ansible部署MySQL主从

【代码】ansible部署MySQL主从。

m0_56681539的博客 1007

为何wait和notify方法必须加锁?

为何wait和notify方法必须加锁? 是为了避免Lost Wake Up问题,即丢失唤醒问题。 所谓Lost Wake Up,指的是:线程A调用wait()方法进入阻塞状态,接下来没有其他线程去唤醒线程A,或者其他线程唤醒的时机不对(早于线程A的wait()),导致线程A永远阻塞下去。 下面以一个生产者和消费者的案例来说明上述问题。 假如我们有两个线程,一个消费者线程,一个生产者线程。生产者线程的任务可以简化成将count加一,而后唤醒消费者;消费者则是将count减一,而后在减到0的时候陷入睡眠,.

打酱油的葫芦娃 9156

我正用AI Agent重构传统GIS 核心功能,说大白话做空间分析

GeoAI-UP项目通过AI Agent技术实现自然语言驱动的空间分析,核心创新包括: 意图识别层:通过LLM理解用户需求,自动拆解为可执行目标 智能任务规划:动态生成分析流程,处理复杂依赖关系 统一算子架构:采用标准化接口封装200+空间分析功能 可视化工作流。

专注GIS软件开发。 496

安装mysql配置主从或双主互备+keepalived实现高可用

mysql+keepalived实现高可用安装mysql下载mysql安装包实现mysql主从复制安装keepalived下载keepalived安装包修改配置文件测试keepalived高可用 安装mysql 下载mysql安装包 实现mysql主从复制 安装keepalived 下载keepalived安装包 修改配置文件 测试keepalived高可用 ...

拿我的键盘来! 680

华为OD机试双机位C卷-恢复数字序列 (Py/Java/C/C++/Js/Go)

华为OD机试双机位C卷 恢复数字序列,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机试 - 恢复数字序列。

qq_45776114的博客 1203

mysql+keepalived 实现双主高可用

mysql+keepalived实现双主高可用mysql_master1:192.168.3.126mysql_master2 :192.168.3.127vip :192.168.3.218############################################################################配置前准备:yum instal...

weixin_34150503的博客 108

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

[MySQL]-双主+keepalived实现高可用

本文旨在记录学习主从时的拓展内容,怎么借助keepalived实现简单的高可用。

liangsena的博客 1139

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Mysql+Keepalived实现双主高可用 分库分表

Mysql+Keepalived实现双主高可用 什么是Keepalived? Keepalived是一个工作在IP/TCP协议栈的IP层,TCP层及应用层实现交换机制的软件。 Keepalived的作用是检测服务器的状态,如果有一台服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。

liuerchong的博客 805

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

KeepAlived+MySQL实现高可用(双主热备)

MySQL高可用主要是通过Keepalived这款软件来实现多个节点的服务可用性检测和故障转移,对外提供VIP地址供客户端连接,由keepalived根据服务的状态,负责将vip漂移到真实可用的机器上,从而实现服务的高可用。

Elijah-Blog 591

MYSQL集群高可用使用双主双活+keepalived实现

该项目共分为2个子项目,由MYSQL集群高可用和数据监控平台两部分组成。

cfbl2024的博客 648

配置MySQL实现主主互备模式并利用keepalived实现双主高可用

每台主机均需安装keepalived,mysql,安装过程这里不多介绍,不懂的可自行百度。 本次配置的环境为 DB1:192.168.31.190 DB2:192.168.31.184 MySQL VIP:192.168.31.189 1、修改MySQL配置文件 首先修改DB1的/etc/my.cnf配置文件,在"[mysqld]...

weixin_30767835的博客 143

keepalived Mariadb(mysql) 实现双主 高可用(HA)

使用MySQL双master+keepalived是一种非常好的解决方案,在MySQL-HA环境中,MySQL互为主从关系,这样就保证了两台MySQL数据的一致性,然后用keepalived实现虚拟IP,通过keepalived自带的服务监控功能来实现MySQL故障时自动切换。利用keepalived构建高可用MySQL-HA,保证两台MySQL数据的一致性,然后用keepalived实现虚拟VIP,通过keepalived自带的服务监控功能来实现MySQL故障时自动切换。

weixin_72426331的博客 501

MySQL5.6通过keepalived实现双主高可用

在MySQL5.7上面试了很久,但是配置好了之后了多次重启,依旧不见keepalived服务,后来切换到MySQL5.6,安装,配置,运行,测试,完全可用,讲经验分享出来。 keepalived其实就是实现主从备份中,当主节点坏掉后,能够只能切换到从节点的一个高可用软件,实现双主高可用,自然第一步肯定是搭建MySQL的主主复制,安装keepalived软件,配置keepalived的配置文件、配

欢迎访问alvinxu的博客页面 683

编译安装keepalived,实现双主mysql高可用

安装keepalived 1、官网下载源码包,解压 # wget http://www.keepalived.org/software/keepalived-1.1.20.tar.gz # tar xvf keepalived-1.1.20.tar.gz 2、编译安装,这里需要指定一下安装路径 # cd keepalived-1.1.20/ # ./configure --prefix=...

weixin_30338461的博客 94

keepalived Mariadb(mysql) 实现双主 高可用(HA)

此文整理了网上的文章  并加以修改 亲测可用 利用keepalived构建高可用MySQL-HA,保证两台MySQL数据的一致性,然后用keepalived实现虚拟VIP,通过keepalived自带的服务监控功能来实现MySQL故障时自动切换。    关于MySQL-HA,目前有多种解决方案,比如heartbeat、drbd、mmm、共享存储,但是它们各有优缺点。heartbeat

qq_16177481的博客 2619

mysql wait millis4002_Mysql + Keepalived 实现双主互备高可用详细配置

Mysql+Keepalived双主互备架构搭架配置前进行校时操作#安装ntpdate工具yum install ntpdate -y#使用ntpdate校时(后面的是ntp服务器)ntpdate pool.ntp.org一、配置mysql双主备0.测试mysql安装yum install mariadb mariadb-server -ysystemctl restart mariadbsyst...

weixin_33335559的博客 339
上一篇: kube-keepalived-vip
下一篇: 利用keepalived和haproxy配置mysql的高可用负载均衡
hxpjava1
博客等级 码龄19年 1365粉丝 511原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值