mysql 主从 同步原理及配置
一、在mssql 里头实现同步镜像,只能主库用而镜像库不能同时用,而mysql 主从同步可以实现 数据库的读写分离,主库负责 update insert delete ,从库负责select 这样一来具有相应的优点:
(1) 数据分布 (Data distribution )
(2) 负载平衡(load balancing)
(3) 备份(Backups)
(4) 高可用性和容错行 High availability and failover
二、mysql 数据库同步的实现原理:
(1) master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events);
(2) slave将master的binary log events拷贝到它的中继日志(relay log);
(3) slave重做中继日志中的事件,将改变反映它自己的数据。

三、mysql主从同步复制的实现配置过程
1、 条件
两台服务器分别为
A:192.168.1.230 【master】
B: 192.168.1.122 【slave】
2、步骤
1)、 在masert 里 mysql数据库建立wei slave用来取数据库的账号密码
账号为: net
密码为: 123456
权限: 赋予需要同步的数据相应权限
2)、 把需要同步的数据库 从 主库拷贝到 从服务器里头建立(意思就是保证同步的数据库一致)
3)、主库上面做如下操作(window 打开 my.ini 文件 liunx 系统 my.conf 数据库配置文件)
A. 在mysqld 下添加以下代码
[mysqld]
port=3306
server-id=1 # master端ID号
log-bin=log #日志路径及文件名
binlog-do-db=test #需要同步的数据库
binlog-ignore-db=mysql #不需要同步的数据库
B. 在master上位slave添加一个同步账号
grant replication slave on *.* to 'net'@'192.168.1.122' identified by '123456';
C. 重启mysql服务
运行 show master status
File Position(同步位置) Binlog_Do_DB(同步库) Binlog_Ignore_DB(不需要同步的库)
log.000001 424 test mysql
4)、从服务器上 做如下操作 slave
拷贝如下代码到 my.ini 文件 mysqld 下面
server-id=2
master-host=192.168.1.230
master-user= net
master-password= 123456
master-port= 3306
master-connect-retry=60
replicate-do-db=test #同步的数据库
replicate-ignore-db=mysql #被忽略的数据库
B.在mysql里头执行
stop slave
change master to
master_log_file='log.000001',
master_log_pos=424
改变和添加相应的配置项 注意这个地方就是主库的文件 和 位置
c. start slave; 开启同步 让从库去主库里头去数据
D. show slave status 查看同步配置项目状态
到此大功告成,可以修改或者插入 主库test里头的数据从库就会有相关的实时变化
四、附加 python代码简单实现读写库分离
import MySqldb #读取数据库
def selectDb(sqlStr):
conn=MySQLdb.connect(host='192.168.1.122',user='root',passwd='',port=3306)
conn.select_db("test")
cur=conn.cursor()
cur.execute(sqlStr)
conn.commit()
return cur #执行 插入 修改 更新操作
def executeDb(sqlStr):
conn=MySQLdb.connect(host='192.168.1.230',user='root',passwd='',port=3306)
conn.select_db("test")
cur=conn.cursor()
cur.execute(sqlStr)
conn.commit()
cur.close() cur = selectDb("select * from user") executeDb("insert into user(name,content) values('user','内容') ") for r in cur.fetchall():
print r[1]
mysql 主从 同步原理及配置的更多相关文章
- 聊聊Mysql主从同步读写分离配置实现
Hi,各位热爱技术的小伙伴您们好,好久没有写点东西了,今天写点关于mysql主从同步配置的操作日志同大家一起分享.最近自己在全新搭建一个mysql主从同步读写分离数据库简单集群,我讲实际操作步骤整理分 ...
- 高级程序员必知必会,一文详解MySQL主从同步原理,推荐收藏
1. MySQL主从同步实现方式 MySQL主从同步是基于Bin Log实现的,而Bin Log记录的是原始SQL语句. Bin Log共有三种日志格式,可以binlog_format配置参数指定. ...
- MySQL主从同步原理 部署【转】
一.主从的作用:1.可以当做一种备份方式2.用来实现读写分离,缓解一个数据库的压力二.MySQL主从备份原理master 上提供binlog ,slave 通过 I/O线程从 master拿取 bin ...
- mysql主从同步原理及错误解决
mysql主从同步的原理: 1.在master上开启bin-log日志功能,记录更新.插入.删除的语句. 2.必须开启三个线程,主上开启io线程,从上开启io线程和sql线程. 3.从上io线程去连接 ...
- Mysql 主从同步原理简析
在开始讲述原理的情况下,我们先来做个知识汇总,究竟什么是主从,为什么要搞主从,可以怎么实现主从,mysql主从同步的原理1.什么是主从其实主从这个概念非常简单主机就是我们平常主要用来读写的服务,我们称 ...
- 架构师必备:MySQL主从同步原理和应用
日常工作中,MySQL数据库是必不可少的存储,其中读写分离基本是标配,而这背后需要MySQL开启主从同步,形成一主一从.或一主多从的架构,掌握主从同步的原理和知道如何实际应用,是一个架构师的必备技能. ...
- MySQL主从同步-原理&实践篇
来源:Onegoleya 简栈文化 什么是mysql的主从复制? MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点.MySQL 默认采用异步复制方式,这样从节点 ...
- MySQL主从同步原理
mysql主从复制用途 实时灾备,用于故障切换 读写分离,提供查询服务 备份,避免影响业务 主从部署必要条件 主库开启binlo日志(设置log-bin参数) 主从server-id不同 从库可以连同 ...
- MySQL主从同步简单介绍&配置
介绍: 现在mysql集群基本上都是使用一主多从方式,实现读写分离(主库写.从库读).负载均衡.数据备份,以前只是使用从未配置过,今天简单配置一下! mysql主从复制是通过binary log日志实 ...
随机推荐
- ACE反应器(Reactor)模式(1)
转载于:http://www.cnblogs.com/TianFang/archive/2006/12/13/591332.html 1.ACE反应器框架简介 反应器(Reactor):用于事件多路分 ...
- New Year and Domino 二维前缀和
C. New Year and Domino time limit per test 3 seconds memory limit per test 256 megabytes input stand ...
- HDU 2686 / NYOJ 61 DP
传纸条(一) 时间限制:2000 ms | 内存限制:65535 KB 难度:5 描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行 ...
- Chromedriver 的安装与配置
首先是下载网址:https://sites.google.com/a/chromium.org/chromedriver/downloads(需要FQ,用Browser浏览器即可翻进,版本要和Chro ...
- 可能是国内最火的开源项目 —— C/C++ 篇
程序员们,在北上广你还能买房吗? >>> 推荐阅读: 可能是最火的开源项目 -- Java 篇 可能是国内最火的开源项目 -- PHP 篇 可能是国内最火的开源项目 -- Pyt ...
- UVA129 暴力dfs,有许多值得学习的代码
紫书195 题目大意:给一个困难的串,困难的串的定义就是里面没有重复的串. 思路:不需要重新对之前的串进行判重,只需要对当前的加入的字符进行改变即可. 因为是判断字典序第k个的字符串,所以要多一个全局 ...
- mybatis在Mapper的xml文件中的转义字符的处理
XML转义字符 < < 小于号 > > 大于号 & & 和 ' ’ 单引号 " " 双引号 用转义字符进行替换 例如 SE ...
- jquery的基础语法、选取元素、操作元素、加事件、挂事件及移除事件
jquery基础知识 1.jquery文件的引入,所有的js代码要写在下面那段代码下面. <script src="../jquery-1.11.2.min.js">& ...
- 牛客网刷题(纯java题型 31~60题)
牛客网刷题(纯java题型 31~60题) 重写Override应该满足"三同一大一小"三同:方法名相同,参数列表相同,返回值相同或者子类的返回值是父类的子类(这一点是经过验证的) ...
- 剖析 golang 的25个关键字
剖析 golang 的25个关键字 基本在所有语言当中,关键字都是不允许用于自定义的,在Golang中有25个关键字,图示如下: 下面我们逐个解析这25个关键字. var && con ...