Windows server 2016故障转移高可用+mysql双主配置
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服务器部署
修改IP地址,DNS改成本机IP
修改计算机名
重启计算机
DNS服务器部署
- 添加角色和功能,选择安装DNS服务器,其它默认选择下一步即可。
2. 配置DNS管理器
正向查找区域—新建区域
区域名称net
默认选择下一步即可反向查找区域----新建区域
默认选择,网络ID填写IP段。
以上步骤在B服务器操作一次,在继续下面操作
===============================================================================================
A服务器配置
正向查找区域----新建主机B
反向查找区域----新建指针(PTR)
- 验证
4. ping域名如果出现找不到主机问题,执行【ipconfig/flushdns】刷新DNS解析缓存
【netsh winsock reset】 重置Winsock目录,重启计算机
5. 还有问题就是DNS配置故障
故障转移集群部署
- 添加角色和功能,选择【故障转移群集】,其余默认选择。
2. 故障转移在任意一台配置即可
B服务器部署
修改IP地址,DNS改成本机IP
修改计算名
重启计算机
DNS服务器部署
安装部署参考A服务器,操作一致
B服务器配置
操作一致,区别在于添加主机不同
故障转移部署
- 添加角色和功能,选择【故障转移群集】,其余默认选择。
2. 故障转移群集管理器配置
- 视频
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
完毕!
注:如连接不成功请关闭防火墙