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

MYSQL双机热备

程序员文章站 2022-04-09 20:40:59
...

双机热备

简介

双机热备是应用于服务器的一种解决方案,其构造思想是主机和从机通过TCP/IP网络连接,正常情况下主机处于工作状态,从机处于监视状态,一旦从机发现主机异常,从机将会在很短的时间之内代替主机,完全实现主机的功能。
MYSQL双机热备

准备工作

需要两台虚拟机两台虚拟机上必须有MySQL数据库 两台必须要ping通

实验步骤(主主服务器)

先进行设置两台主机的防火墙规则

iptables -F
setenforce 0
主机A

进入到MySQL配置文件中进行修改

vim /etc/my.cnf

MYSQL双机热备
MYSQL双机热备
重启服务

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 aaa@qq.com:/lfydb.sql
服务器B

同样也是需要修改配置文件

vim /etc/my.cnf

MYSQL双机热备
MYSQL双机热备
重启服务

service mysqld restart

MYSQL双机热备
到根下将刚才发送过来的文件移动到/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;

MYSQL双机热备
服务器A
查看表
MYSQL双机热备
添加用户并查看

insert into test values (1,'ren');

MYSQL双机热备
服务器B
查看用户是否同步成功
MYSQL双机热备

主从服务器配置则是不需要服务器B对A再发出主服务器的请求及回应

完结撒花