MYSQL双机热备

MYSQL双机热备

Scroll Down

双机热备

简介

双机热备是应用于服务器的一种解决方案,其构造思想是主机和从机通过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再发出主服务器的请求及回应==

完结撒花