linux学习第五十七篇:复习扩展

  • 不停库不锁表在线主从配置 http://seanlook.com/2015/12/14/mysql-replicas/
    1. MySQL之间数据复制的基础是二进制日志文件。一台MySQL数据库一旦启用二进制日志后,其作为master,它的数据库中所有操作都会以“事件”的方式记录在二进制日志中,其他数据库作为slave通过一个I/O线程与主服务器保持通信,并监控master的二进制日志文件的变化,如果发现master二进制日志文件发生变化,则会把变化复制到自己的中继日志中,然后slave的一个SQL线程会把相关的“事件”执行到自己的数据库中,以此实现从数据库和主数据库的一致性,也就实现了主从复制。
    2. 原理:主将改变记录到二进制日志文件binlog中,从将主的binlog日志文件拷贝到它的中继日志中,从重做中继日志中的事件,将改变的数据放映到自己的数据中。
    3. 过程:主记录二进制日志,在二进制日志记录更新数据的改变,在事件写入二进制日志完成后,主通知存储引擎提交事物。下一步从再将主的binlog拷贝到自己的中继日志中。从先开始一个工作线程–I/O线程,I/O线程在主上打开一个连接,请求从指定位置的日志文件中读取事件并写入中继日志中。如果已经跟上主,线程就会睡觉等待主产生新的事件。SQL slave thread(SQL从线程)处理该过程的最后一步,SQL线程从中继日志读取事件并重放其中的事件而更新从的数据,使得从与主中的数据一致。主中也有一个线程,从在主中打开一个连接也会使主开始一个线程,复制在从上是串行化的,也就是主上的并行更新操作在从上是并行操作。

  • mysql主从常见问题 http://www.10tiao.com/html/706/201603/403220961/1.html 问题: 从数据库无法同步 Slave_SQL_Running 值为 NO,或 Seconds_Bebind_Master 值为 Null 原因:
    1. 程序有可能在 slave 上进行了写操作
    2. 也有可能是 slave 机器重启后,事务回滚造成的 解决方法一: msyql> stop slave; msyql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1; msyql> start slave; 解决方法二: msyql> stop slave; 查看主服务器上当前的 bin-log 日志名和偏移量 msyql> show master status; 获取到如下内容:

+——————+———-+————–+——————+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+——————+———-+————–+——————+

| mysql-bin.000005 | 286 | | |

+——————+———-+————–+——————+ 然后到从服务器上执行手动同步 msyql> change master to ->master_host=”192.168.10.1”, ->master_user=”user”, ->master_password=”123456”, ->master_post=3306, ->master_log_file=”mysql-bin.000005”, ->master_log_pos=286; msyql> start slave;



深入探究主从延迟 http://ningg.top/inside-mysql-master-slave-delay/ mysql主从不同步如何做 http://www.jb51.net/article/33052.htm mysql 主主 http://www.cnblogs.com/ygqygq2/p/6045279.html mysql-proxy 实现读写分离 http://my.oschina.net/barter/blog/93354 mycat实现读写分离 http://www.th7.cn/db/mysql/201708/250280.shtml atlas相关 http://www.oschina.net/p/atlas mysql一主多从 http://blog.sina.com.cn/s/blog_4c197d4201017qjs.html mysql环形主从 http://ask.apelearn.com/question/11437 cobar实现分库分表 http://blog.csdn.net/huoyunshen88/article/details/37927553 mysql分库分表方案 http://my.oschina.net/ydsakyclguozi/blog/199498 mysql架构演变 http://www.aminglinux.com/bbs/thread-8025-1-1.html MHA架构 http://www.dataguru.cn/thread-457284-1-1.html 比较复杂的mysql集群架构 http://ask.apelearn.com/question/17026

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏你不就像风一样

使用hibernate造成的MySql 8小时问题解决方案

mysql5之前的版本,可以在jdbc连接的url中加入:autoReconnect = true

791
来自专栏Java技术交流群809340374

分布式锁的3种实现(数据库、缓存、Zookeeper)

目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。

1730
来自专栏web前端

HTTP协议理解

HTTP(Hyper Text Transfer Protocol)超文本传输协议,是一种请求响应式协议,类似两国会晤中需要遵守的规则。那么,其中有什么内容特点...

2138
来自专栏决胜机器学习

高性能网站架构方案(一) ——MySQL提升

高性能网站架构方案(一)——MySQL提升 原创内容,转载请注明来源,谢谢) 一、Mysql响应速度提升——HandlerSocket 1、概述 ...

3898
来自专栏恰同学骚年

NoSQL初探之人人都爱Redis:(4)Redis主从复制架构初步探索

  通过前面几篇的介绍中,我们都是在单机上使用Redis进行相关的实践操作,从本篇起,我们将初步探索一下Redis的集群,而集群中最经典的架构便是主从复制架构。...

2232
来自专栏Java技术交流群809340374

分布式锁的3种实现(数据库、缓存、Zookeeper)

目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。

1500
来自专栏Java3y

从零开始写项目第四篇【搭建Linux环境】

使用SSH连接Linux环境 经过十多天的时间,我的网站备案终于完成了…接下来我就收到了阿里云的邮件。它让我在网站首页的尾部添加备案号,貌似还需要去公安网站中再...

5737
来自专栏架构师之路

数据库中间件mysql-proxy细节【mysql官方的中间件】

一、mysql-proxy简介 mysql-proxy是mysql官方提供的mysql中间件服务,上游可接入若干个mysql-client,后端可连接若干个my...

5974
来自专栏GreenLeaves

Oracle 客户端管理软件安装

1、首先,先说明下为什么要安装Oracle客户端管理工具? 因为Oracle服务端过大,而且消耗的资源过多,大部分公司会把服务端装在公司的服务器上,而不会装在员...

2005
来自专栏Laoqi's Linux运维专列

负载均衡、集群、高可用解决方案

8224

扫码关注云+社区

领取腾讯云代金券