一、实验原理: 1、拓扑结构图如下: 2、工作原理: 从宕机崩溃的master保存二进制日志事件(binlog events) 识别含有最新更新的slave 应用差异的中继日志(relay
从宕机崩溃的master保存二进制日志事件(binlog events)
识别含有最新更新的slave
应用差异的中继日志(relay log)到其他的slave
应用从master保存的二进制日志事件(binlog events)
提升一个slave为新的master
使其他的slave连接新的master进行复制
ssh-keygen 任意一台主机生成公钥私钥对
ssh-copy-id 192.168.190.128 生成文件在.ssh目录
scp -r /root/.ssh 192.168.190.129
scp -r /root/.ssh 192.168.190.130
scp -r /root/.ssh 192.168.190.131
[server default]
user=mhauser 主服务器的管理账号
passWord=centos mhauser的密码
manager_workdir=/data/mastermha/app1/ 工作目录
manager_log=/data/mastermha/app1/manager.log 日志目录
remote_workdir=/data/mastermha/app1/
ssh_user=root ssh连接账号
repl_user=repluser 复制账号
repl_password=centos 复制账号的密码
ping_interval=1
[server1]
hostname=192.168.190.129 主服务器
candidate_master=1 有机会晋升为主
[server2]
hostname=192.168.190.130 从服务器
candidate_master=1 有机会晋升为主
[server3]
hostname=192.168.190.131 从服务器
candidate_master=1 有机会晋升为主
log-bin 启用二级制
server_id=1 服务器id,每个节点必须不同
innodb_file_per_table 每个库,每张表
skip_name_resolve=1 通过ip连接,不解析主机名
log_slave_updates = 1 主从切换时用
plugin_load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so" 加载半同步复制的插件,主从的都装,主坏,从顶上时实现半同步
loose_rpl_semi_sync_master_enabled = 1 开启主的半同步功能
loose_rpl_semi_sync_slave_enabled = 1 开启从的半同步功能
loose_rpl_semi_sync_master_timeout = 5000
mysql
mysql>show master logs
mysql>grant replication slave on *.* to repluser@'192.168.31.%' identified by ‘centos';
mysql>grant all on *.* to mhauser@‘192.168.190.%’ identified by ‘magedu‘;
show variables like '%semi%';
vim /etc/my.cnf
[mysqld]
server_id=2 不同节点此值各不相同
log-bin
read_only 只读,对超级用户无效,主坏切换为主时,全局变量会变
relay_log_purge=0 不删除中继日志
skip_name_resolve=1 不解析主机名,通过ip连接
plugin_load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so" 加载半同步复制的插件,主从的都装,主坏,从顶上时实现半同步
loose_rpl_semi_sync_master_enabled = 1 开启主的半同步功能
loose_rpl_semi_sync_slave_enabled = 1 开启从的半同步功能
loose_rpl_semi_sync_master_timeout = 5000
mysql>CHANGE MASTER TO MASTER_HOST=‘MASTER_IP', MASTER_USER='repluser', MASTER_PASSWORD=‘centos', MASTER_LOG_FILE='mariadb-bin.000001', MASTER_LOG_POS=245;
--结束END--
本文标题: 基于MHA+semi sync实现mysql数据库的高可用
本文链接: https://www.lsjlt.com/news/44849.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-09
2024-05-08
2024-05-08
2024-05-08
2024-05-08
2024-05-08
2024-05-08
2024-05-08
2024-05-08
2024-05-08
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0