mysql MySQL高可用集群

2020-10-28  本文已影响0人  dylan丶QAQ

起因:在工作中常常要用到mysql,平常只是对数据库crud,并没有认真的了解过她,sql语句也只是会一些最基本的,和常用的,一些不常用的都要去网上百度,即决定学习一下mysql,来了解她,虽然开发很多都是黑盒,但追本溯源总是我们想要的。


1.双主复制

image.png

为什么,网上有很多的教程,讲keepalived,都是在局域网或虚拟机上?阿里云ECS不支持浮动IP

GTID主从同步,从库会和主库进行GTID的⽐比对,如果从库里没有就会从主库的Binlog里取,如果有就不会同步了
双主的情况下会出现什么问题?

需要将双主的自增id初始值设置成不一样

auto_increment_offset=1 #初始值
auto_increment_increment=2  #增长量
log_slave_updates=on

双主配置1

server_id=106 
log_bin=/usr/local/binlog/mysql-bin
binlog_format=row 
expire_logs_days=10
max_binlog_size=500m
relay_log=/usr/local/relaylog/relay-bin 
relay_log_recovery=1 
skip_slave_start=on

master_info_repository=TABLE 
relay_log_info_repository=TABLE


binlog-ignore-db=information_schema 

binlog-ignore-db=performance_schema
binlog-ignore-db=sys

replicate-ignore-db=information_schema replicate-ignore-db=mysql
replicate-ignore-db=performance_schema replicate-ignore-db=sys

slow_query_log=on slow_query_log_file=/usr/local/slowlog/slow.log slow_launch_time=5

gtid_mode=on enforce_gtid_consistency=on

auto_increment_offset=1 auto_increment_increment=2

双主配置2

server_id=107 
log_bin=/usr/local/binlog/mysql-bin 
binlog_format=row 
expire_logs_days=10
max_binlog_size=500m


relay_log=/usr/local/relaylog/relay-bin
relay_log_recovery=1
#read_only=on 
skip_slave_start=on

master_info_repository=TABLE 
relay_log_info_repository=TABLE

slow_query_log=on 
slow_query_log_file=/usr/local/slowlog/slow.log 
slow_launch_time=5

gtid_mode=on 
enforce_gtid_consistency=on

binlog-ignore-db=information_schema 
binlog-ignore-db=mysql
binlog-ignore-db=performance_schema 
binlog-ignore-db=sys

replicate-ignore-db=mysql
replicate-ignore-db=performance_schema 
replicate-ignore-db=sys

auto_increment_offset=2 
auto_increment_increment=2

log_slave_updates=on

2.MHA集群结构

Master High Availiability 是⼀一款开源的MySQL高可用程序

3.MMM集群结构

MMM Master-Master repliaciton manger for MySQL
是一套支持双主的故障切换管理的第三方软件,是Perl开发的,虽然是双主模式,但同一业务时间只允许一个节点进行写入操作

4.其他集群结构


不要以为每天把功能完成了就行了,这种思想是要不得的,互勉~!

上一篇下一篇

猜你喜欢

热点阅读