Windows server 2016故障转移高可用+mysql双主配置

发布于:2022-12-31 ⋅ 阅读:(485) ⋅ 点赞:(0)

0准备工作

两台服务器,安装Windows Server 2016操作系统,用户名密码一致。4个IP地址,安装tomcat、mysql服务,端口、密码一致,可正常访问

  • 可以极大的提高整体系统的可靠性及可用性,通过域控制器的管理与故障控制排除单点故障
  • 当单台服务器出现问题后业务及资源自动切换到备用服务器上,可添加多节点
  • 主要应用于WEB、数据库等应用服务器
  • 可引入独立存储服务器以保证系统安全性及数据完整性

1.服务器信息

名称 IP地址 域名 备注
A服务器 192.168.99.5 fk_serverA Windows Server 2016
B服务器 192.168.99.6 fk_serverB Windows Server 2016
虚拟IP 192.168.99.7 故障转移
虚拟IP 192.168.99.8 Tomcat高可用IP

故障转移集群部署

A服务器部署

  1. 修改IP地址,DNS改成本机IP
    在这里插入图片描述

  2. 修改计算机名
    在这里插入图片描述
    在这里插入图片描述

  3. 重启计算机

DNS服务器部署

  1. 添加角色和功能,选择安装DNS服务器,其它默认选择下一步即可。

在这里插入图片描述
在这里插入图片描述
2. 配置DNS管理器
在这里插入图片描述

  1. 正向查找区域—新建区域
    在这里插入图片描述
    在这里插入图片描述
    区域名称net
    在这里插入图片描述
    默认选择下一步即可

  2. 反向查找区域----新建区域
    在这里插入图片描述
    默认选择,网络ID填写IP段。
    在这里插入图片描述

  3. 以上步骤在B服务器操作一次,在继续下面操作

===============================================================================================

A服务器配置

  1. 正向查找区域----新建主机B
    在这里插入图片描述
    在这里插入图片描述

  2. 反向查找区域----新建指针(PTR)

在这里插入图片描述
在这里插入图片描述

  1. 验证

在这里插入图片描述
在这里插入图片描述
4. ping域名如果出现找不到主机问题,执行【ipconfig/flushdns】刷新DNS解析缓存
【netsh winsock reset】 重置Winsock目录,重启计算机

在这里插入图片描述
5. 还有问题就是DNS配置故障

故障转移集群部署

  1. 添加角色和功能,选择【故障转移群集】,其余默认选择。

在这里插入图片描述
在这里插入图片描述
2. 故障转移在任意一台配置即可

B服务器部署

  1. 修改IP地址,DNS改成本机IP
    在这里插入图片描述

  2. 修改计算名
    在这里插入图片描述

  3. 重启计算机

DNS服务器部署

安装部署参考A服务器,操作一致

B服务器配置

操作一致,区别在于添加主机不同
在这里插入图片描述
在这里插入图片描述

故障转移部署

  1. 添加角色和功能,选择【故障转移群集】,其余默认选择。

在这里插入图片描述
在这里插入图片描述
2. 故障转移群集管理器配置
在这里插入图片描述

  1. 视频

windows2016故障转移高可用

===============================================================================================

MYSQL双主配置

A服务器

my.ini配置

[mysqld]
#设置3306端口
port=3306
#设置mysql的安装目录
#basedir=D:\\ProgramFiles\\MySQL\\mysql
#设置mysql数据库的数据的存放目录
#datadir=D:\\ProgramFiles\\MySQL\\mysql\\data
#允许最大连接数
max_connections=200
#允许连接失败的次数。
max_connect_errors=10
#服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password

# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#双主服务配置服务器A
log-bin = mysql-bin
binlog_format = mixed
server-id = 1
relay-log = relay-bin
relay-log-index = slave-relay-bin.index
auto-increment-increment = 2
auto-increment-offset = 1
#binlog_do_db=rms

[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8mb4

[client]
#设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

B服务器

my.ini配置

[mysqld]
#设置3306端口
port=3306
#设置mysql的安装目录
#basedir=D:\\ProgramFiles\\MySQL\\mysql
#设置mysql数据库的数据的存放目录
#datadir=D:\\ProgramFiles\\MySQL\\mysql\\data
#允许最大连接数
max_connections=200
#允许连接失败的次数。
max_connect_errors=10
#服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password

# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#双主服务配置服务器B
log-bin = mysql-bin
binlog_format = mixed
server-id = 2
relay-log = relay-bin
relay-log-index = slave-relay-bin.index
auto-increment-increment = 2
auto-increment-offset = 2
#binlog_do_db=rms

[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8mb4

[client]
#设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

重启A/B服务器

A/B服务器

创建用户:

CREATE USER 'slave'@'192.168.99.%' IDENTIFIED BY '123456';
grant replication slave, replication client on *.* to 'slave'@'192.168.99.%';
flush privileges;

A服务器

查看binlog状态信息

show master status;

B服务器

进入MySQL,执行以下命令;以下信息为A服务器信息

change master to
master_host='192.168.99.5',
master_user='slave',
master_password='123456',
master_log_file='mysql-bin.000001',
master_log_pos=1786;

开启:

start slave;

停止:

stop slave;

查看主从是否成功

show slave status
show slave status \G;
show slave status \G

其中slave_io_running与slave_sql_running必须为yes

B服务器

查看binlog状态信息

show master status;

文件

A服务器

进入MySQL,执行以下命令;以下信息为B服务器信息

change master to
master_host='192.168.99.6',
master_user='slave',
master_password='123456',
master_log_file='mysql-bin.000001',
master_log_pos=1072;

开启:

start slave;

停止:

stop slave;

查看主从是否成功

show slave status
show slave status \G;
show slave status \G

其中slave_io_running与slave_sql_running必须为yes

完毕!

注:如连接不成功请关闭防火墙