percona mysql 5.1.63-443版本crash说明

2014-03-23

dump导出所有myisam(gbk charset)表,重新导入到percona 5.1.63-443版本中,重启出现崩溃错误,bug参考: https://bugs.launchpad.net/pld-linux/+bug/1073584 https://bugs.launchpad.net/percona-server/+bug/984605 https://bugs.launchpad.net/codership-mysql/+bug/1254179 升级到新版5.1.73可解决改问题; 启动时触发该问题,未得到有效的信息. 测试环境: centos 6.4 x86_64 32G Percona-Server-5.1.63-rel13.4-443.Linux.x86_64

May 23 11:02:50...
      
Read More

Sysbench测试及说明

2014-03-17

安装及说明

安装:

yum install sysbench.x86_64 

文档: manual page sample page

相对于单线程的sql-bench(MySQL提供的测试套件), sysbench在CPU, IO, Mutex, Thread等方面具有更为全面和仿真的特性, 在数据库主机中着重测试CPU, IO,...

Read More

svn镜像同步

2014-03-10

#全量同步操作: 目标主机新建仓库repos:

svnadmin create /export/svn_mirror/svn/repo 

#源主机操作

#svnsync init https://svn.dest.com/svn/repo file:///data/svn/repo #svnsync sync https://svn.dest.com/svn/repo #从版本0开始同步,时间较长 
...
Read More

MySQL主从数据一致性校验

2014-03-10

pt-table-checksum如何校验主从数据的一致性

一.综述

在MySQL中,master和slave的数据一致性校验是一个繁琐且重要的环节,在master和slave同时对外提供服务的业务中, 保证数据的一致性更为重要;这个要求提出如何校验一致性的问题, 在校验的过程中, 如何避免对线上业务造成冲击,不影响主从复制等都需要我们密切关注, 下面部分详细介绍如何通过percona-toolkit的pt-table_checksum校验主从的数据一致性。

二.词语解释

chunk: 分组校验,对大表来说,分组校验是个很好的方法,可以避免引起slave过多的delay于master, 同时也避免了wait_timeout参数影响脚本的执行; CRC32: 循环冗余校验,脚本通过校验码来判断是否存在数据不一致,使用者可以通过method方法更改校验的方法,如MD5, SHA1, UDF等; key: 确保要校验的表有主键或唯一键(没有唯一性,MySQL通过_rowid来标识唯一性),pt-table-checksum通过键来确保待校验行数的一致; 其它: 其它性能优化参数(lag, load, current thread等)见 http://www.percona.com/doc/percona-toolkit/2.2/pt-table-checksum.html

三.校验过程说明

...
Read More

MHA masterha manager检测master及failover处理说明

2014-03-10

masterha_manager按照设置频率(ping_interval)定期检测 master 的访问情况, 超过3次检测失败则调用 master_ip_failover_script,master_ip_online_change_script和masterha_master_switch脚本提升一个slave为新的master, 老的master独立出来,供DBA手动操作或者恢复; 详见: https://code.google.com/p/mysql-master-ha/wiki/masterha_manager

masterha_manager检测分为3部分: ping检测, ssh检测, MySQL connection检测;

  1. MySQL connection检测: 使用init_conf_load_script参数提供的账号信息连接MySQL,成功则master->slave关系正常,失败转到ssh检测;
  2. SSH检测: 在MySQL检测失败的情况下,继续检测ssh连接性,正常通信则拷贝binlog文件为提升新master做准备,失败则宣告master为dead状态,后续的slave提升会忽略该主机的binlog信息;
  3. PING检测: 通用检测项,按照ping_interval参数定期ping master主机;

masterha_manager循环检测,直到做一次主从切换(不论切换成功或失败)就退出(退出后发送报告,report_script参数指定); 调用unix...

Read More

360-Atlas中间件-测试及使用说明

2014-02-10

概要说明

https://github.com/Qihoo360/Atlas

Atlas作为中间件存在于应用和DB之间,为应用提供统一的服务接口,中间件实现读写和分离功能,避免开发人员的额外开发操作,就可以达到读写分离的目的,多slave可实现按权重均衡负载,如果应用端够强壮,可以忽略掉Atlas的sql注入检测功能。管理接口以lua语言实现,易扩展,方便问题的排查和追踪。

Atlas为360公司在MySQl-Proxy 0.8.2版本所作的而次开发二开源出来的软件,有商业公司的支持,不必担心没有技术支持,异常问题得不到解决等因素。

架构说明

 - | master | / | app | --> |z6 (Atlas)| - |...
      
Read More