美文网首页
mysql MySQL高可用集群

mysql MySQL高可用集群

作者: dylan丶QAQ | 来源:发表于2020-10-28 11:01 被阅读0次

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


    1.双主复制

    image.png

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

    • 阿里云提工单,让其开通havip(高可用虚拟ip)
    • 到专有VPC网络高可用虚拟IP去创建高可用虚拟IP
    • 这个虚拟IP使用在keepalived里,keepalived在阿里服务器上只能设置单播方式

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

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

    auto_increment_offset=1 #初始值
    auto_increment_increment=2  #增长量
    
    • 双主一定要都开启从库binlog写⼊入
    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.其他集群结构

    • MySQL+DRDB
    • MySQL+MGR架构
    • MySQL官方Cluster架构

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

    相关文章

      网友评论

          本文标题:mysql MySQL高可用集群

          本文链接:https://www.haomeiwen.com/subject/ibxryktx.html