双机热备
简介
双机热备是应用于服务器的一种解决方案,其构造思想是主机和从机通过TCP/IP网络连接,正常情况下主机处于工作状态,从机处于监视状态,一旦从机发现主机异常,从机将会在很短的时间之内代替主机,完全实现主机的功能。
准备工作
需要两台虚拟机两台虚拟机上必须有MySQL数据库 两台必须要ping通
实验步骤(主主服务器)
先进行设置两台主机的防火墙规则
iptables -F
setenforce 0
主机A
进入到MySQL配置文件中进行修改
vim /etc/my.cnf
重启服务
service network restart
进入到MySQL数据库中
mysql -u root -p
添加一个库
create database lfydb;
show databases
先将主机A做成主机B的主服务器
grant replication slave on *.* to 'bakuser01'@'192.168.1.3' identified by 'redhat';
刷新一下
flush privileges;
查看pos号和file名称
show master status;
退出数据库(ctrl+D)
将MySQL里新建的数据库问及那拷贝出来
mysqldump -u root -p lfydb > ~/lfydb.sql
将数据库文件发送到服务器B上(输入的密码是服务器B的密码)
scp lfydb.sql root@192.168.1.3:/lfydb.sql
服务器B
同样也是需要修改配置文件
vim /etc/my.cnf
重启服务
service mysqld restart
到根下将刚才发送过来的文件移动到/root下
mv /lfydb.sql /root
进入到数据库中
MySQL -u root -p
新建一个库并且把数据库文件拷贝到这个库里
create databases lfydb;
show databses;
source /root/lfydb.sql
现在对服务器A刚才的请求进行响应
change master to master_host='192.168.1.2',master_password='redhat',master_log_file='mysql-bin.000004',master_log_pos=197;
开启MySQL
start slave;
查看一下服务器的状态
show slave status\G
再用服务器B对A发出主服务器请求
grant replication slave on *.* to 'bakuser02'@'192.168.1.2' identified by 'redhat';
刷新一下
flush privileges;
查看一下服务器的file名称和pos号
show master status;
服务器A
对服务器B的请求做出响应(进到mysql中)
change master to master_host='192.168.1.3',master_password='redhat',master_log_file='mysql-bin.000004',master_log_pos=197;
开启服务器
start slave;
查看服务器状态
show slave status\G
验证
服务器B
进入到刚刚从创建的数据库中
use lfydb;
查看表
show tables;
服务器A
查看表
添加用户并查看
insert into test values (1,'ren');
服务器B
查看用户是否同步成功
主从服务器配置则是不需要服务器B对A再发出主服务器的请求及回应