MySQL高可用集群环境搭建

01、MySQL高可用环境方案

02、MySQL主从复制原理

03、MySQL主从复制作用

04、在Linux环境上安装MySQL

05、在MySQL集群环境上配置主从复制

06、MySQL高可用集群带来的问题

07、MySQL读写分离MyCat使用

08、分表分库插件ShardingJdbc

09、MySQL数据库索引底层原理(重点)

10、MySQLSQL语句性能优化

MySQL数据库简单介绍

MySQL作为世界上使用最为广泛的数据库之一,免费是其原因之一。但不可忽略的是它本身的功能的确很强大。随着技术的发展,在实际的生产环境中,由单台MySQL数据库服务器不能满足实际的需求。此时数据库集群就很好的解决了这个问题了。采用MySQL分布式集群,能够搭建一个高并发、负载均衡的集群服务器(这篇博客暂时不涉及)。在此之前我们必须要保证每台MySQL服务器里的数据同步。数据同步我们可以通过MySQL内部配置就可以轻松完成,主要有主从(master slave )复制和主主复制。

主从复制介绍

相信很多同学在学习Redis的时候,已经了解过主从复制的作用。在MySQL集群环境中,可以分为主节点与从节点,通过主从复制可以实现数据备份、故障转移、MySQL集群、高可用、读写分离等。

MySQL的主从复制是MySQL本身自带的一个功能,不需要额外的第三方软件就可以实现,其复制功能并不是copy文件来实现的,而是借助binlog日志文件里面的SQL命令实现的主从复制,可以理解为我再Master端执行了一条SQL命令,那么在Salve端同样会执行一遍,从而达到主从复制的效果。

如果Mysql是集群的情况下,需要考虑哪些问题?

数据实时同步的问题

主从复制原理

MySQL的主从复制是MySQL本身自带的一个功能,不需要额外的第三方软件就可以实现,其复制功能并不是copy文件来实现的,而是借助binlog日志文件里面的SQL命令实现的主从复制,可以理解为我再Master端执行了一条SQL命令,那么在Salve端同样会执行一遍,从而达到主从复制的效果。

主机MySql 会将dmlMySql(create、update、delete、insert等,不包括查询sql) 语句写入到二进制日志文件中(binLog)。

从库生成两个线程,一个I/O线程,一个SQL线程; i/o线程去请求主库 的binlog,并将得到的binlog日志写到relay log(中继日志) 文件中;

主库会生成一个 log dump 线程,用来给从库 i/o线程传binlog; SQL 线程,会读取relay log文件中的日志,并解析成具体操作,来实现主从的操作一致,而最终数据一致;

从节点中Sql线程的作用:就是IO线程从主机获取二进制执行文件之后,通过Sql线程进行执行二进制执行文件。sql线程依赖于IOx线程

主库与从库会建立长连接,如果产生网络延迟的情况下 会产生数据不同步的问题。

注意:Mysql主从复制是Mysql本身自带的功能。myCat做读写分离 和 Nginx 比较相似。

如果不小心数据被删除了,可以从binlog日志中恢复。

主从复制环境配置

服务器准备两台

192.168.0.105  主服务器配置

192.168.0.107  从服务器配置

最新文章

  1. Git 常见的一些小命令
  2. Linux常用命令学习
  3. FPGA相关术语(一)
  4. java如果读取xml内容
  5. c#之Redis实践list,hashtable
  6. POJ2001-Shortest Prefixes-Trie树应用
  7. RAC 环境下参数文件(spfile)管理
  8. [转]前端开发必备 40款优秀CSS代码编写工具推荐
  9. SOA架构有基本的要求
  10. sql server 行转列 Pivot UnPivot
  11. jQuery插件之-----弹性运动
  12. npm——安装教程、安装vue脚手架
  13. redis----------基本命令使用
  14. XWIKI离线WAR包部署(LDAP登录)
  15. map映射巧用 A-B Problems
  16. 移动基于Percona XTRADB Cluster的大数据解决方式
  17. type、object和class的关系
  18. Oracle查询优化-插入、更新与删除
  19. USACO 2017 FEB Platinum nocross DP
  20. spring cloud要点简介及常用组件

热门文章

  1. Vue引入远程JS文件
  2. mysql无法导入函数和存储过程解决方法
  3. mouse without borders无界鼠标使用教程
  4. 取数据超过内存限制的问题-解决方案(sample,takeSample,filter)
  5. jQuery BlockUI Plugin Demo 2
  6. iOS笔试题03
  7. 使用python或robotframework调multipart/form-data接口上传文件
  8. Angular 8 - 更小的包
  9. react 做的简易todolist
  10. 51.Qt-使用ajax获取ashx接口的post数据