mysql主从复制/主从备份搭建

mysql主从复制/主从备份搭建

  • 前言
  • 一、主从复制
    • 1)为什么使用主从复制、读写分离?
    • 2)主从复制原理
  • 二、如何实现主从复制?
    • 1)主库配置
      • 1、修改配置文件
      • 2、登录mysql:
    • 2)从库配置
      • 1、修改配置文件
      • 2、登录mysql:
    • 3)配置过程中报错1794
  • 总结


前言

最新的 Java 面试题,技术栈涉及 Java 基础、集合、多线程、Mysql、分布式、Spring全家桶、MyBatis、Dubbo、缓存、消息队列、Linux…等等,会持续更新。

如果对老铁有帮助,帮忙免费点个赞,谢谢你的发财手!

一、主从复制

1)为什么使用主从复制、读写分离?

  • 主从复制、读写分离一般是一起使用的。
  • 目的很简单,就是为了提高数据库的并发性能。假设是单机,读写都在一台MySQL上面完成,性能肯定不高。如果有三台MySQL,一台mater只负责写操作,两台salve只负责读操作,性能就能大大提高了。

2)主从复制原理

  • 1、当Master节点进行insert、update、delete操作时,会按顺序写入到binlog中;
  • 2、salve从库连接master主库,Master有多少个slave就会创建多少个binlog dump线程;
  • 3、当Master节点的binlog发生变化时,binlog dump 线程会通知所有的salve节点,并将相应的binlog内容推送给slave节点;
  • 4、I/O线程接收到 binlog 内容后,将内容写入到本地的 relay-log;
  • 5、SQL线程读取I/O线程写入的relay-log,并且根据 relay-log 的内容对从数据库做对应的操作。

二、如何实现主从复制?

假设这里用三台Linux服务器,IP分别是101(Master),102(Slave),103(Slave),确保三台服务器能够相互访问。
我的mysql数据库版本是5.7

1)主库配置

1、修改配置文件

vim /etc/my.cnf
  1. 添加如下配置:
[mysqld]
#开启binlog
log-bin=mysql-bin # 启用bin log日志
server-id=101 #服务器唯一id

你可能感兴趣的:(数据库,mysql,数据库,主从备份,主从复制,主从搭建)