• Mysql 复制工作原理


    数据库配置的时候,一定要开启二进制日志,如果开始没开启后来再想开启的话,必须重启。

    基于日志点的复制

     

     备份数据库工具

    -------------------------------------------------------------------------------------------------

    基于日志的复制连路

    开始

    1.准备2台虚拟机,ip addr命令查看ip

    主服务器ip 192.168.3.100, 从服务器192.168.3.101

    2.创建用户,更改用户权限

     

    3.配置主数据库 和 从数据库 的参数 /etc/my.cnf

    主服务器

    server-id = 1

    启动了bin-log

    从服务器

    server-id = 2

    配置relay—log

    同样启用的bin-log。 最好启用,方便主从迁移,故障转移等。

    4.初始化从服务器的数据 

      备份主数据库,这里因为是测试 用的mysql dump ,生产环境最好选用xtrabuctup

      注意不要备份系统库,会造成未知的问题

    将文件备份到从服务器上 root目录

    初始化从服务器数据库

    5.启动复制连路

    查看备份文件 all.sql 里面有这么一句话,直接复制下来就行

     

    将连路配置好

    查看连路配置  show slave status G;

    启动连路  start slave;

    6.查看主从进程 show processlist G;

    从服务器启动了2条相关的线程

    主服务器启动了Binlog Dump 线程

    -------------------------------------------------------------------------------------------------

     基于日志复制的优缺点

     ----------------------------------------------------------------------------------------------------

    GTID复制方式的优势

    基于日志复制的缺点

     

    GTID复制的优势

    GTID的步骤

     

     ----------------------------------------------------------------------------------------------------

     基于GTID的复制

    前两步是和【基于日志的复制】步骤是一样的

     3.修改主服务器上的文件  vi etc/my.cnf

    启动这两个选项

     

    从服务器的配置

    启动 这几个选项

    重启服务器

    4.初始化从服务器的数据

     

    拷贝到从服务器

    5.对从数据库进行配置 

    6.启动复制,并查看是否成功

    7.测试 : 主数据库添加数据,查看从数据库是否有数据

    -----------------------------------------------------------------------------------------------

    ------------------------------------------------------------------------------------------------- 

    从库分担读负载,分库分表分担写负载。

     主主复制

    不建议使用,但是特定场景除外

    场景:例如两个地区都有数据库,都要保存两个地区的数据。

    1。主备模式,只有一个主对外提供服务,一个 出现问题,另一个才会对外提供服务

    2。主主模式,同时对外提供服务

    可能停留在5-8的课程中

  • 相关阅读:
    Oracle数据库学习_唯一性索引(Unique Index)与普通索引(Normal Index)
    Oracle数据库学习笔记_oracle创建表索引index
    Oracle数据库学习笔记_oracle之exist 语句
    Oracle数据库学习笔记_Oracle之replace()函数的使用
    Oracle数据库学习笔记_trim( )、ltrim( )、rtrim( )三个函数的用法
    Oracle数据库学习笔记_Oracle的PLS_INTEGER类型
    SQL教程_SQL语法、过程和函数概述
    Oracle数据库学习_Oracle监听配置和网络服务名配置的三种方法
    Oracle数据库学习_Oracle监听程序LISTENER和网络服务名Tnsname
    Oracle数据库学习_Windows系统查看Oracle数据库监听状态的方法
  • 原文地址:https://www.cnblogs.com/zhaoyang-1989/p/6880455.html
Copyright © 2020-2023  润新知