• MySQL主从架构之Master-Slave主从同步


    MySQL复制

    MySQL复制是指将主库上的DDL和DML操作通过二进制日志传到从库上,使主库和从库上的数据保持同步

    复制原理:

    主服务器将更新写入二进制日志文件,并维护文件的一个索引来跟踪日志循环。这些日志可以记录发送到从服务器的更新。当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置。从服务器接受从那时起发生的任何更新,然后封锁并等待主服务器通知新的更新。

    MySQL主从架构:优点:故障时候可以切库;读写分离;从库执行其他业务例如备份。

    1:Master-Slave    主从同步

    2:Master-Slave-Slave……级联 

    3:Master-Master   互为主备

    【主从同步】Master-Slave

    注:需要主库打开log-bin ;设置server-id

    #mysqldump -uroot -p --all-databases --master-data=2 --routines --events --quick>

      

    --master-data=2 表示需要记录导出数据当时主库的binlog位置
    --routines 表示导出存储过程
    --events 表示导出事件
    --quick 表示让服务端不将结果集一次发送,而是分批发送,可减轻压力
    注:--master-data后默认是锁库的,可确保数据一致性,即导出数据和binlog位置的一致。
    对于Innodb引擎,可增加--single-transaction取消锁库并利用Innodb事务特性确保数据一致
    

     

    #创建同步账号

    #grant replication slave, replication client on *.* to  replication@'%' identified by 'gechong';
    

    #确定主库同步点

    可以在Master上执行 SHOW MASTER STATUS; 也可以查看刚才导出的文件

    #从库同步数据

    #mysql -uroot -p < Master_data_20140920.sql
    

      

    #从库CHANGE

    #CHANGE MASTER TO MASTER_LOG_FILE='mysql.000002', MASTER_LOG_POS=525, master_host='10.1.29.10', master_port=3306, master_user='replication', master_password='gechong';
    

      

    #查看从库状态

    #SHOW SLAVE STATUS G  

    如果Slave_IO_Running 和 Slave_SQL_Running都为yes时,则Master-Slave搭建成功。

     

  • 相关阅读:
    Web前端性能优化-资源合并与压缩
    关于 ES5 & ES6 数组遍历的方法
    代码优化
    解决 Vue 刷新页面后 store 数据丢失的问题
    Lombok
    Dao 与 Dto
    物理删除与逻辑删除的区别
    Java 创建对象的几种方式
    SSM + SpringBoot 常用注解
    Json Web Token (JWT)
  • 原文地址:https://www.cnblogs.com/xiaoit/p/3983837.html
Copyright © 2020-2023  润新知