Monthly Archives: May 2014

atlas监控及自动切换故障slave

By | 2014/05/28

Atlas_auto_setline a tool for automatic offline/online unusable slave node in Atlas open source software 此脚本配合360 Atlas中间件的使用, 检测slave状况(延迟或slavethread错误),自动上线或下线存在于Atlas admin接口里的slave节点; – 不对master做改动,仅检测slave信息; – 支持多个slave, 详见 perldoc atlas_auto_setline说明; – 多个atlas端口必须是同一实例下的; 详见: Atlas_auto_setline db.conf文件配置(单实例下的多个库)举例,: #slave host and atlas admin host info. slave_host:172.30.0.15,172.30.0.16 #多台slave以’,’分隔 slave_port:3306 #slave 服务端口 slave_user:slave_user #可以检测slave 延迟状态的用户 slave_pass:xxxxxx #slave_user口令 atlas_host:172.30.0.18 #atlas对外服务的ip, 建议是虚ip atlas_port:5012 #atlas对外服务的端口, 一个atlas的mysql-proxyd占用一个端口, 如果起了多个, 以’,’分隔指定多个端口… Read More »

MySQL管理事项规范

By | 2014/05/27

规范相对简单(后续待完善),没有特别细致的描述利弊。本章事项包括,帐号,数据存储,复制设置,监控设置,日志信息,常用操作等。此要求尽量使用集中化,有规律的设置方式管理数据库。 1.帐号安全 帐号设置包括安全和访问两部分。 安全要求数据库不能有空帐号、空密码帐户出现(新装实例包含root空密码,空帐户等),如下:

MySQL 管理规范

By | 2014/05/27

参数配置说明 1.概述 本文档目的在于标准化线上MySQL数据库的安装和管理,以保证数据库环境的统一,便于DBA管理及维护。 笔者详细介绍Percona MySQL Server的参数信息, 从个人角度上看参数选项可以分为必选项和可选项(仅供参考), 对一些需要经常设置的变量建议放到cnf配置文件中(比如expire_logs_days,read_only等)。 目前为止,MySQL安装方式主要有:RPM/DEB, Binary, Source Code, Repository。 RPM/DEB方式安装简单、方便,在发布前已经经过了极为严格的测试, 稳定性和安全性都有所保证,升级方面只需考虑有重要bug、更新等高版本,没必要有更新就升级;Binary方式相对独立,不需要依赖过多的库文件等,在安装和升级方面很方便,另外也利于线上环境的批量部署,同样Binary方式在发布前也经过了严格的测试;Source Code安装方式适合有定制功能或更改参数默认信息的需求,一般没有特殊需求的业务可以不采用源码安装的方式;Repository为第三方厂商发布的仓库版本,比如percona yum/apt版本,该方式的优点等同RPM/DEB方式。 2.安装之前 软件获取: 采用第三方厂商percona XtraDB分支版本,见 www.percona.com , 5.1版本不再维护, 最新为5.1.73版本. 5.5 和 5.6 可以选用最新的版本. 安装条件: 鉴于不同RAID级别对数据库性能和安全方面的影响,线上环境应该统一采用RAID10级别,如果硬盘不够可降级为RAID1或RAID5级别(RAID0不安全)。 RAID卡型号选取带有Cache功能的卡,如DELL的H700或H710P。 磁盘调度算法:专用数据库采用deadline方式,非专用取默认cfg方式。 3.必选项 [mysqld_safe] mysqld_safe区域选项参数设置,线上强制以mysql safe方式启动MySQL Server,可在该区域设置log error等输出信息,但不做强制要求。 syslog 将error信息输出到syslog(/var/log/message)中,设置该选项初衷在于利用LogAnalyzer工具监控错误信息起到及时告警的作用,缺点是对历史错误信息难以追踪。 syslog-tag = XXXX error信息输出到syslog时增加一个标签后缀,此选项在一台主机多实例环境下达到区分来源实例的目的。

innodb buffer pool 过小引起查询更新缓慢症状分析

By | 2014/05/14

场景: 业务(读写分离)的流量增大,使得MySQL Server压力增大很多, 表现为iostat显示频繁的写操作, master(只写)中show processlist出现大量的update线程, slave出现大量的select 线程; 表设计和索引相对正常(尽管整体的设计显得不合理,不过对于sql语句及表而言,尽管存在冗余的索引等信息,不过对于业务而言显得可以胜任); 分析: 1. master(只写说明): master说明: