一:phpmyadmin
Q:phpmyadmin 4.1.4 2002 无法连接MySQL
$cfg['Servers'][$i]['host'] = 'localhost';

修正为
$cfg['Servers'][$i]['host'] = '127.0.0.1';
二:剖析binglog 工具
https://github.com/wubx/mysql-binlog-statistic
三:Atlas mysql
Atlas是由 Qihoo 360公司Web平台部根本架构团队开拓掩护的一个基于MySQL协议的数据中间层项
1》紧张功能:
1.读写分离,2.从库负载均衡,3.IP过滤,4.自动分表,5.DBA可平滑高下线DB,6.自动摘除宕机的DB
2》系统紧张架构:
atlas是一个位于运用程序与MySQL之间的中间件。在后端DB看来,Atlas相称于连接它的客户端,在前端运用看来,Atlas相称于一个DB。Atlas作为做事端与运用程序通讯,它实现了MySQL的客户端和做事端协议,同时作为客户端与MySQL通讯。它对运用程序屏蔽了DB的细节,同时为了降落MySQL包袱,它还掩护了连接池。
Atlas的整体架构,可参考下面这两幅图
3》线程模型
Atlas启动后会创建多个线程,个中一个为主线程,别的为事情线程。主线程卖力监听所有的客户端连接要求,事情线程只监听主线程的命令要求
如下图所示,主线程吸收到客户真个连接要求,将该要求的干系信息封装为一个名为CON的构造,再把该构造推入一个异步队列。然后通过round-robin办法选择一个事情线程,向其发送一个字节的数据包以激活它。事情线程在收到主线程的激活指令后,从异步队列中取出CON构造,开始处理客户真个要求
4》Atlas合营LVS利用的架构
下图是一个可以参考的整体架构,LVS前端做负载均衡,两个Atlas做HA,防止单点故障。LVS周期性地对后端Atlas的存活检测有两种办法,一是直接去探测端口是否可连接,二是实行一个脚本,这个脚本会去考试测验连接Atlas,通过脚本的返回值来决定每个后端是否可用。Atlas有两种运行状态,常日为online,可通过发旗子暗记将其置为offline。Atlas检测到来要求的IP是LVS的网卡IP时,如果处于online状态,就向LVS的检测脚本返回online,如果处于offline状态,就向脚本返回offline。比如我现在由于某种缘故原由须要重启一台Atlas,但直接重启势必导致瞬间的SQL要求全部失落败,对前端运用造成影响。因此我先发下线旗子暗记将Atlas置为offline状态,当LVS的检测脚本创造返回值是offline时,便将这台Atlas摘除,从此时开始便没有新的要求导向这台Atlas。等到已经打向这台Atlas的SQL要求处理完毕后(这是一个很短的韶光),就可以安全重启Atlas而不必担心对前端造成影响了。
四:Inception
半自动化
人肉法
在MySQL审查究法中,有一种方法是最传统,门槛最低,同时也是与半自动化方法共存的一种方法,那便是人肉法,所谓“人肉法”,便是所有的审核事情都是由人工来完成,下面先看看一样平常的人工审核的事情办法图:
Inception的架构
下载地址:
https://github.com/mysql-inception/inception
文档地址:
http://mysql-inception.github.io/inception-document/release/
五:PhxSQL
高可用、强同等的MySQL集群
开源地址:
https://github.com/tencent-wechat/phxsql
PhxSQL是一个兼容MySQL、做事高可用、数据强同等的关系型数据库集群。PhxSQL以单Master多Slave办法支配,在集群内超过一半机器存活的情形下,可自身实现自动Master切换,且担保数据同等性
架构:
PhxSQL复制流程