欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

centos双机热备 数据库主从相互备份(上)

程序员文章站 2022-03-06 16:04:51
...

 

centos双机热备 数据库主从相互备份(下):https://blog.csdn.net/Berzingou/article/details/82026815

安装包及相关文件下载:https://pan.baidu.com/s/1Zgx3hRB400JFLIGHPVdtJA 密码:gg8x

 

安装keepalived并实现双机热备

操作系统  centos(版本6.4  位数64位)
keepalived版本  keepalived-1.2.13

将软件安装包上传到两台服务器各自的/home目录下(两台服务器各有一份)

上传后/home目录详情:

centos双机热备 数据库主从相互备份(上)

实验拓扑图:

centos双机热备 数据库主从相互备份(上)

实验环境:

centos双机热备 数据库主从相互备份(上)

一、安装keepalived(两台服务器都要安装)

1.准备工作

1) 关闭网络管理控制
vim /etc/sysconfig/network-scripts/ifcfg-eth0  #找到配置文件
按i  进入编辑模式
将配置项NM_CONTROLLED=yes改成no
esc :wq退出并保存

2)安装keepalived所需工具包
yum -y install kernel-devel openssl-devel popt-devel  #工具包
cd /home  #进入home目录
tar -xvf keepalived-1.2.13.tar.gz -C /usr/local  #将home目录下的keepalived软件解压到/usr/local目录下
cd /usr/local  #进入/usr/local目录
cd keepalived-1.2.13/  #进入keepalived目录
yum -y install ipvsadm  #安装ipvsadm工具
yum install gcc-c++  #gcc环境安装  中间有询问  按y后直接回车就好

2.编译安装:keepalived

./configure --prefix=/ --with-kernel-dir=/usr/src/kernels/2.6.32-431.el6.x86_64/ && make && make install

3.添加为系统服务

chkconfig --add keepalived
chkconfig keepalived on

再次强调  keepalived两个服务器都需要安装

二、配置服务器(192.168.25.137)

1.修改keepalived配置文件

echo "" > /etc/keepalived/keepalived.conf  #清空keepalived.conf中的内容
vim /etc/keepalived/keepalived.conf  #开始修改
按i进入编辑模式   参照以下内容进行配置

global_defs {	##全局参数配置
   notification_email {		##联系邮箱
     aaa@qq.com  ##lemon1是我的主机名  你设置成你自己的就好
   }
   notification_email_from aaa@qq.com	##邮件发件人相关设置
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id master  ##当前服务器是主服务器
}

vrrp_instance VI_1 {	##定义vrrp热备实例
    state MASTER	##热备状态  MASTER表示主服务器
    interface eth0	##承载虚拟地址的物理接口
    virtual_router_id 51	##虚拟路由器的ID号  每个热备组保持一致
    priority 100	##优先级  数值越大优先级越高  我这里主服务器设置为100从服务器设置为50
    advert_int 1	##通知间隔秒数(心跳频率)
    authentication {	##认证信息  每个热备组保持一致
        auth_type PASS	##认证类型
        auth_pass 1111	##密码字串
    }
    virtual_ipaddress {	##指定虚拟地址(VIP)  可以有多个
        192.168.25.100	##虚拟ip最后三位可以随便指定的    但主从服务器虚拟ip要保持一致
        ##虚拟ip前面的部分(192.168.25)是和你主从服务器前面的保持一致
    }
}

按esc :wq保存并退出

2.启动服务  查看虚拟ip

service keepalived start  #启动keepalived服务
ip addr show dev eth0  #查看虚拟ip

(如果你没有看到你所配置的虚拟ip不一定是你配错了  很大的可能是显示延迟  你可以选择过3分钟后再查看或者重启主服务器)

centos双机热备 数据库主从相互备份(上)

三、配置备用服务器(192.168.25.139)

1.修改keepalived配置文件

echo "" > /etc/keepalived/keepalived.conf  #清空文件
vim /etc/keepalived/keepalived.conf  #配置文件

按i进入编辑模式   参照以下内容进行配置

global_defs {
   notification_email {
     aaa@qq.com  ##这个改成你自己的就好
   }
   notification_email_from aaa@qq.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id backup  ##当前服务器是备用服务器
}

vrrp_instance VI_1 {
    state BACKUP	##热备状态  BACKUP表示备用服务器
    interface eth0
    virtual_router_id 51
    priority 50  ##优先级和主服务器不同
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.25.100  ##虚拟ip(要和主服务器的虚拟ip保持一致)
    }
}

按esc :wq保存文件并退出

2.启动服务  注意防火墙
service keepalived start  #启动服务
iptables -I INPUT -p ip -d 224.0.0.18 -j ACCEPT  #将ip加入防火墙白名单

service iptables save  #保存

3.查看备用服务器是否有虚拟ip(主服务器正常运行的时候备用服务器是没有虚拟ip的)
ip addr show dev eth0

centos双机热备 数据库主从相互备份(上)

四、测试双机热备

1.使用windows的cmd命令行  ping一下虚拟地址(我们这里设置的是192.168.25.100)

centos双机热备 数据库主从相互备份(上)

我们再次查看主服务器和备用服务器的ip情况

主服务器此时拥有虚拟ip

centos双机热备 数据库主从相互备份(上)

而备用服务器是没有虚拟ip的

centos双机热备 数据库主从相互备份(上)

2.现在我们将主服务器上面的网卡禁用

ifconfig eth0 down  #关闭主服务器网卡

此时我们看到的现象是客户端ping会先断开一下  然后又能正常ping通

centos双机热备 数据库主从相互备份(上)

其实就是keepalived监测到了主服务器连接不上了  于是就将请求切到了备用服务器上

此时虚拟ip也会漂移到备用服务器上

centos双机热备 数据库主从相互备份(上)

到此我们就用keepalived实现了双机热备

3.主服务器上线后虚拟ip又会漂移到主服务器上(因为主服务优先级高是100)[选做]

ifconfig eth0 up  #开启主服务器网卡(如果你执行这个命令后发现主服务器并没有抢夺虚拟ip  那你重启主服务器试试)

查看主服务器ip情况

centos双机热备 数据库主从相互备份(上)

 

 

 

安装JDK(两个服务器都安装)

一、卸载系统自带jdk

rpm -qa | grep java  #查看当前系统是否已经安装java

centos双机热备 数据库主从相互备份(上)

 

rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64  #卸载系统自带jdk
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64

rpm -qa | grep java  #查看是否卸载成功

centos双机热备 数据库主从相互备份(上)

二、解压jdk安装包

mkdir /usr/local/java  #创建java文件夹
cd /home  #进入jdk安装包所在目录
ls  #查看是否有jdk安装包
tar -xvf jdk-8u181-linux-x64.tar.gz -C /usr/local/java  #解压jdk安装包到/usr/local/java目录
cd /usr/local/java  #进入java目录

ls  #查看jdk是否成功解压

三、配置java环境

vim /etc/profile  #开始配置java环境
按i进入编辑模式

将如下内容配置到profile文件中

#set java environment 
JAVA_HOME=/usr/local/java/jdk1.8.0_181
JRE_HOME=/usr/local/java/jdk1.8.0_181/jre 
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib 
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin 
export JAVA_HOME JRE_HOME CLASS_PATH PATH

esc :wq保存文件并退出

source /etc/profile  #使配置文件生效
java -version  #查看是否配置成功

centos双机热备 数据库主从相互备份(上)

 

 

安装tomcat(两个服务器都要安装)

一、解压安装包

cd /home  #进入home目录
ls  #查看tomcat安装包是否存在
tar -xvf apache-tomcat-8.5.20.tar.gz -C /usr/local  #解压文件到/usr/local目录
cd /usr/local  #进入local目录
ls  #查看tomcat安装包是否成功解压
mv apache-tomcat-8.5.20/ tomcat  #修改文件夹apache-tomcat-8.5.20名字为tomcat
ls  #查看是否修改成功

centos双机热备 数据库主从相互备份(上)

二、开放8080端口
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT  #开放linux的对外访问的端口8080
/etc/rc.d/init.d/iptables save  #保存配置

三、运行tomcat

cd tomcat/bin  #进入tomcat下的bin目录
ls  #可以看到启动服务和停止服务的脚本

centos双机热备 数据库主从相互备份(上)

./startup.sh  #启动tomcat服务

使用主机ip(192.168.25.137:8080)进行访问

centos双机热备 数据库主从相互备份(上)

备用服务器的tomcat配置同理~~

 

 

安装mysql并实现能用navicat进行远程登录(两个服务器都要安装)

一、卸载系统自带mysql

rpm -qa | grep mysql  #查看系统中是否自带mysql
rpm -e --nodeps mysql-libs-5.1.66-2.el6_3.x86_64  #卸载自带mysql
rpm -qa | grep mysql  #查看是否卸载成功

二、安装mysql

mkdir /usr/local/mysql  #新建mysql文件夹
cd /home  #进入home目录
ls  #查看目录内容

centos双机热备 数据库主从相互备份(上)

cp MySQL-server-5.7.4_m14-1.el6.x86_64.rpm MySQL-client-5.7.4_m14-1.el6.x86_64.rpm /usr/local/mysql  #拷贝文件到mysql目录
cd /usr/local/mysql  #进入mysql文件夹
ls  #查看文件夹是否有刚才拷贝进来的文件

centos双机热备 数据库主从相互备份(上)

rpm -ivh MySQL-server-5.7.4_m14-1.el6.x86_64.rpm  #安装mysql服务端
rpm -ivh MySQL-client-5.7.4_m14-1.el6.x86_64.rpm   #安装mysql客户端

三、将mysql加到系统服务中并设置开机启动
chkconfig --add mysql  #加入到系统服务
chkconfig mysql on  #自动启动

四、修改mysql初始密码

service mysql start  #启动mysql服务
cat /root/.mysql_secret  #查看并复制mysql初始密码

centos双机热备 数据库主从相互备份(上)

mysql -u root -p  #登录mysql
粘贴刚才的查看的密码
成功登录!
set password = password('123456');  #修改mysql初始密码为123456

centos双机热备 数据库主从相互备份(上)

五、开启远程登录权限

保持mysql是登录状态  输入如下命令:
grant all privileges on *.* to 'root' @'%' identified by '123456';  #开启远程登录mysql的权限
flush privileges;  #刷新mysql系统权限相关表
输入exit退出mysql
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT  #开放Linux的对外访问的端口3306
/etc/rc.d/init.d/iptables save  #将修改永久保存到防火墙中

使用navicat远程连接数据库

centos双机热备 数据库主从相互备份(上)

备用服务器配置和这是一样一样滴~~

 

centos双机热备 数据库主从相互备份(下):https://blog.csdn.net/Berzingou/article/details/82026815