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。主主模式,同时对外提供服务

时间: 2024-10-22 04:56:07

Mysql 复制工作原理的相关文章

MySQL数据库工作原理

接触一个新的事物的时候,是有必要从其工作原理入手,弄清楚这个东西的来龙去脉,为接下来的继续深入学习做好铺垫,掌握好其原理有助于我们从整体上来把握这个东西,并且帮助我们在排错过程中理清思路.接下来,还是从mysql的工作原理开始入手,下面先来一张经典的图: 上面的图就是mysql的内部架构,可以清楚的看到Mysql是由SQL接口,解析器,优化器,缓存,存储引擎组成的. 下面是关于上述部件的介绍: connectors 与其他编程语言中的sql 语句进行交互,如php.java等. Manageme

MySQL MHA工作原理

MHA工作组件 MHA(Master High Availability)是一种MySQL高可用解决方案,由日本DeNA公司开发,主要用于在故障切换和主从提升时进行快速切换,并最大程度保证数据一致性.MHA主要由两部分组成:1.MHA Manager(管理节点),管理节点部署在群集之外,主要用于定期监测群集中的主节点,并在主从切换时负责管理调度切换流程.2.MHA Node(数据节点),数据节点部署在每个群集节点上,负责在主从切换时对比和应用差异日志. 管理节点主要包含以下工具: masterh

MySQL:索引工作原理

为什么需要索引(Why is it needed)?当数据保存在磁盘类存储介质上时,它是作为数据块存放.这些数据块是被当作一个整体来访问的,这样可以保证操作的原子性.硬盘数据块存储结构类似于链表,都包含数据部分,以及一个指向下一个节点(或数据块)的指针,不需要连续存储. 记录集只能在某个关键字段上进行排序,所以如果需要在一个无序字段上进行搜索,就要执行一个线性搜索(Linear Search)的过程,平均需要访问N/2的数据块,N是表所占据的数据块数目.如果这个字段是一个非主键字段(也就是说,不

Mysql用户访问工作原理

掌握好其原理有助于我们从整体上来把握这个东西,并且帮助我们在排错过程中理清思路.接下来,还是从mysql的工作原理开始入手,下面先来一张经典的图: 上面的图就是mysql的内部架构,可以清楚的看到Mysql是由SQL接口,解析器,优化器,缓存,存储引擎组成的. 下面是关于上述部件的介绍: connectors 与其他编程语言中的sql 语句进行交互,如php.java等. Management Serveices & Utilities 系统管理和控制工具 Connection Pool (连接

Mysql 工作原理

刚开始接触一个新的事物的时候,我觉得很有必要从其工作原理入手,弄清楚这个东西的来龙去脉,为接下来的继续深入学习做好铺垫,掌握好其原理有助于我们从整体上来把握这个东西,并且帮助我们在排错过程中理清思路.接下来,还是从mysql的工作原理开始入手,下面先来一张经典的图: 上面的图就是mysql的内部架构,可以清楚的看到Mysql是由SQL接口,解析器,优化器,缓存,存储引擎组成的. -+---------------------------------------------------------

Mysql主从复制、读写分离工作原理+配置

Mysql的 Replication 是一个异步的复制过程,从一个 Mysql instace(我们称之为 Master)复制到另一个 Mysqlinstance(我们称之 Slave).在 Master 与 Slave 之间的实现整个复制过程主要由三个线程来完成,其中两个线程(Sql线程和IO线程)在 Slave 端,另外一个线程(IO线程)在 Master 端. MySQL 复制的基本过程如下: 1. Slave 上面的IO线程连接上 Master,并请求从指定日志文件的指定位置(或者从最开

MySQL 复制 - 性能与扩展性的基石 1:概述及其原理

原文:MySQL 复制 - 性能与扩展性的基石 1:概述及其原理 1. 复制概述 MySQL 内置的复制功能是构建基于 MySQL 的大规模.高性能应用的基础,复制解决的基本问题是让一台服务器的数据与其他服务器保持同步. 接下来,我们将从复制概述及原理.复制的配置.常见的问题及解决方法来学习 MySQL 的复制功能. 1.1 复制解决的问题 下面是复制常见的用途: 数据分布.Mysql 复制通常不会对带宽造成很大压力,但在 5.1 版本中引入的基于行的复制会比传统的基于语句的复制模式产生更大的带

JAVA之旅(二十五)——文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine

JAVA之旅(二十五)--文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine 我们继续IO上个篇幅讲 一.文本复制 读写都说了,我们来看下其他的操作,我们首先来看复制 复制原理:其实就是将C盘下的文件数据存储到D盘的一个文件中 实现的步骤: 1.在D盘创建一个文件,用于存储文件中的数据 2.定义读取流和文件关联 3.通过不断的读写完成数据的存储 关闭资源 package com.lgl.hel

Mysql的AB复制(主从复制)原理及实现

Mysql复制(replication)是一个异步的复制,从一个Mysql 实例(Master)复制到另一个Mysql 实例(Slave).实现整个主从复制,需要由Master服务器上的IO进程,和Slave服务器上的Sql进程和IO进程共从完成.         要实现主从复制,首先必须打开Master端的binary log(bin-log)功能,因为整个MySQL 复制过程实际上就是Slave从Master端获取相应的二进制日志,然后再在自己slave端完全顺序的执行日志中所记录的各种操作