MySQL的复制的概念是完成水平扩展的架构

MySQL性能方面的扩展方式有scale on(向上扩展,垂直扩展)

                         scale out(向外扩展,水平扩展)

MySQL保存二进制日志:

statement:基于语句模式

row:基于行模式

mixed:混合模式

MySQL复制默认为异步工作模式

SLAVE:IO thread:向主服务请求二进制日志中的事件

SQL thread:从中继日志读取事件并在本地执行

MASTER:binlog dump:将IO thread请求的事件发送给对方

工作架构:

从服务器:有且只能有一个主服务器

MariaDB-10:支持多主模型,多源复制(multi-source replication)

一主多从:

读写分离:主从模型下,让前端分发器能识别读/写,并且按需调度至目标主机

读写分离的中间件有amoba:变形虫

mysql-proxy:不稳定

双主模型:master-master

1.必须设定双方的的自动增长属性,以避免冲突

auto_increment_increment = #

设定起始值

auto_increment_offset = 2

设定步长

2.数据不一致:

功用:均衡读请求:写请求双方一样

示例:主从复制的配置

版本

1.双方的MySQL要一致

2.如果不一致:主的要低于从的

从哪儿开始复制:

1.都从0开始

2.主服务器已经运行一段时间,并且存在不小的数据集,把主服务器备份,然后再从服务器恢复,从主服务器上备份处的位置开始复制

配置过程:

主服务器:

1.改server-id

2.启用二进制日志

3.创建有复制权限的账号

grant replication slave,replication client on *.* to 'uername'@'hostname' identified by 'password'

flush privileges

从服务器:

1.给server-id

2.启用中继日志

relay-log = /mydata/relaylogs/slave-bin

3.连接主服务器

连接主服务器命令:change master to

| MASTER_HOST = 'host_name' 主服务器地址

| MASTER_USER = 'user_name' 以那个用户的身份复制

| MASTER_PASSWORD = 'password'密码

| MASTER_PORT = port_num端口

4.启动复制线程

START SLAVE;

MySQL复制的基本概念和实现的更多相关文章

  1. MySQL复制环境(主从/主主)部署总结性梳理

    Mysql复制概念说明Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves) ...

  2. MySQL复制进阶

    Ⅰ.背景 搭建MySQL复制环境非常简单 你的系统是否也是像我之前那么搭建的呢? 那么,你的复制系统是否出现过以下的情况呢? 复制报错,例如:1062,1032 主从数据不一致 Ⅱ.真正高可靠复制环境 ...

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

    1. 复制概述 MySQL 内置的复制功能是构建基于 MySQL 的大规模.高性能应用的基础,复制解决的基本问题是让一台服务器的数据与其他服务器保持同步. 接下来,我们将从复制概述及原理.复制的配置. ...

  4. MySQL复制相关技术的简单总结

    MySQL有很多种复制,至少从概念上来看,传统的主从复制,半同步复制,GTID复制,多线程复制,以及组复制(MGR).咋一看起来很多,各种各样的复制,其实从原理上看,各种复制的原理并无太大的异同.每一 ...

  5. 深入MySQL复制(一)

    本文非常详细地介绍MySQL复制相关的内容,包括基本概念.复制原理.如何配置不同类型的复制(传统复制)等等.在此文章之后,还有几篇文章分别介绍GTID复制.半同步复制.实现MySQL的动静分离,以及M ...

  6. 深入MySQL复制(二):基于GTID复制

    相比传统的MySQL复制,gtid复制无论是配置还是维护都要轻松的多.本文对gtid复制稍作介绍. MySQL基于GTID复制官方手册:https://dev.mysql.com/doc/refman ...

  7. 涂抹mysql笔记-mysql复制特性

    <>mysql复制特性:既可以实现整个服务(all databases)级别的复制,也可以只复制某个数据库或某个数据库中的某个指定的表对象.即可以实现A复制到B(主从单向复制),B再复制到 ...

  8. Mysql主从同步(1) - 概念和原理介绍 以及 主从/主主模式 部署记录

    Mysql复制概念Mysql内建的复制功能是构建大型高性能应用程序的基础, 将Mysql数据分布到多个系统上,这种分布机制是通过将Mysql某一台主机数据复制到其它主机(slaves)上,并重新执行一 ...

  9. MySQL复制以及调优

    一. 简介 MySQL自带复制方案,带来好处有: 数据备份. 负载均衡. 分布式数据. 概念介绍: 主机(master):被复制的数据库. 从机(slave):复制主机数据的数据库. 复制步骤: (1 ...

随机推荐

  1. JS图片加载失败显示默认图片

    代码如下: <div id='photo<%# Container.DataItemIndex+1%>' style="position: absolute; displa ...

  2. Matlab与C/C++联合编程之Matlab以MEX方式调用C/C++代码(二)

    如果我有一个用C语言写的函数,实现了一个功能,如一个简单的函数: double add(double x, double y) { return x + y; } 现在我想要在Matlab中使用它,比 ...

  3. APP store 审核注意点

    磨刀不误砍柴工.作为手机应用开发者,你需要向应用商店提交应用审核,迅速通过审核可以让你抢占先机.对苹果iOS应用开发者来说尤其如此.苹果应用商店的审核近乎吹毛求疵,下面这些清单可以让你知道苹果会在哪些 ...

  4. 面向对象之prototype,__proto__

    var person = function(name) { this.name = name }; person.prototype.getName = function() { return thi ...

  5. php的预定义数组

    PHP预定义变量数组 1.$_SERVER 变量由Web服务器设定或者直接与当前的脚本的执行环境相关联 $_SERVER超级全局变量包含由web服务器创建的信息,它提供了服务器和客户配置及当前请求环境 ...

  6. JS获取客户端Mac和IP

    JS获取硬件信息是通过ActiveX进行获取的,因此只能IE浏览器支持,火狐不支持 而且必须降低浏览器安全级别,因此不到万不得以一般不会采用这种方式 <html> <head> ...

  7. hdu 2051

    ps:这道题是题目坑爹了...题目说不考虑n=0的...但其实要考虑...醉了 中文意思:输入一个10进制的数,输出他的二进制数 代码: #include "stdio.h"int ...

  8. 无法为表空间 ***中的段创建 INITIAL 区

    这是由于表空间不足引起的. 具体错误: 解决方案:扩展表空间

  9. loadrunner录制时弹出invalid application path!please check if application exists对话框

    问题:oadrunner录制时弹出invalid application path!please check if application exists对话框 原因:IE浏览器地址不对,需要手动重新选 ...

  10. linux命令:ls

    1.介绍: ls是linux日常操作中用的最多命令,是list的缩写,默认按名称排序列出当前目录和文件,ls --help可以查看帮助. 2.命令格式: ls [OPTION] [FILE] 3.命令 ...