autocommit=0引起的业务hang住
admin 12年前(2015-03-16) 3141浏览
背景 有用户报告一个普通的select 语句被hang住了,执行超时。查明之后发现是autocommit使用不当导致。 这里将case简化,说明复现步骤及原因。 复现 session1 建表并插入数据: create table if not exi...
admin 12年前(2015-03-16) 3141浏览
背景 有用户报告一个普通的select 语句被hang住了,执行超时。查明之后发现是autocommit使用不当导致。 这里将case简化,说明复现步骤及原因。 复现 session1 建表并插入数据: create table if not exi...
admin 12年前(2015-03-16) 3245浏览
问题描述 一个用户反映先线一个SQL语句执行时间慢得无法接受。SQL语句看上去很简单(本文描述中修改了表名和字段名): SELECT count(*) FROM a JOIN b ON a.S = b.S WHERE a.L > ’2014-0...
admin 12年前(2015-03-15) 3405浏览
在MySQL复制环境中,我们通常只根据 Seconds_Behind_Master 的值来判断SLAVE的延迟。这么做大部分情况下尚可接受,但并不够准确,而应该考虑更多因素。 首先,我们先看下SLAVE的状态: yejr@imysql.com [(n...
admin 12年前(2015-03-15) 90浏览
问题 有位同学问我,在类似pt-osc场景下,需要将两个表名对调,怎么才能确保万无一失呢? 分析 估计其他同学就笑了,表名对掉还不简单吗,相互RENAME一下嘛。 但是,我们想要的是同时完成表名对调,如果是先后的对掉,可能会导致有些数据写入失败,那怎...
admin 12年前(2015-03-15) 3296浏览
在MySQL复制环境中,我们通常只根据 Seconds_Behind_Master 的值来判断SLAVE的延迟。这么做大部分情况下尚可接受,但并不够准确,而应该考虑更多因素。 首先,我们先看下SLAVE的状态: yejr@imysql.com [(n...
admin 12年前(2015-03-15) 3880浏览
对于使用中的已有了一些数据库的 MySQL, 如何改造成双主呢? 这里写一篇文章, 详细记录操作步骤. 听取各位的意见. 这里假设有两台服务器: A 和 B. 要让他们互为主, 但实际使用时, 不同的服务器只服务不同的 db, 避免出现数据冲突. 1...
admin 12年前(2015-03-15) 3965浏览
一、使用系统镜像文件配置本地yum源 1、使用WinSCP.exe等工具上传系统镜像文件rhel-server-7.0-x86_64-dvd.iso到/usr/local/src目录 2、使用Putty.exe工具远程连接到RHEL服务器 3、挂载系...
admin 12年前(2015-03-15) 3263浏览
nagios图形界面还是比较麻烦的,下面以mysql为例来说一下。监控mysql的插件比较多,在这里了解方法,而不是死搬硬套。 一,安装pnp4nagios 请参考:nagios pnp4nagios 安装 配置 二,安装perl mysql扩展 #...
admin 12年前(2015-03-15) 1039浏览
背景介绍 线上的Zabbix数据库有几个大表数据量疯狂增长,单表已经超过500G,而且在早期也没做成分区表,后期维护非常麻烦。比如,想删除过期的历史数据,在原先的模式下,history、history_uint等几个大表是用 (itemid, clo...
admin 12年前(2015-03-15) 5014浏览
TPC-C是专门针对联机交易处理系统(OLTP系统)的规范,一般情况下我们也把这类系统称为业务处理系统。 tpcc-mysql是percona基于TPC-C(下面简写成TPCC)衍生出来的产品,专用于MySQL基准测试。其源码放在launchpad上...
admin 12年前(2015-03-15) 3206浏览
基本上用了mysql作为oltp业务的,基本上都会配置mysql的主从,一方面用mysql的主从做数据库的读写分离,另一方面mysql本身的单机备份不是很强,一般采用主从架构,在从上进行数据备份。 在这过程中或多或少出现一些主从不同步的情况,本文将对...
admin 12年前(2015-03-15) 3962浏览
为测试系统多线程并发操作时的响应,今天写了个简单的python脚本往mysql中插入、取出数据,用到了MySQLdb、threading模块。 其中threading模块是对thread模块的一个面向对象的封装,比较好用。 import MySQLd...
admin 12年前(2015-03-15) 3792浏览
今天一个朋友向我咨询怎么去优化 MySQL,我按着思维整理了一下,大概粗的可以分为21个方向。 还有一些细节东西(table cache, 表设计,索引设计,程序端缓存之类的)先不列了,对一个系统,初期能把下面做完也是一个不错的系统。 1. 要确保有...
admin 12年前(2015-03-15) 76浏览
使用 MySQL自带命令 mysqldumpslow 查看 OPTIONS -s ORDER ORDER, 主要有 c, t, l, r 和 ac, at, al, ar, 分别是按照 query次数, 时间, lock的时间和返回的记录数来排序, ...
admin 12年前(2015-03-15) 4232浏览
为了提高性能,几乎所有互联网应用都有缓存机制,其中Memcache是使用非常广泛的一个分布式缓存系统。众所周知,LAMP是非常经典的Web架构方式,但是随着Nginx的成熟,越来越多的系统开始转型为LNMP(Linux+Nginx+MySQL+PHP...
admin 12年前(2015-03-15) 3465浏览
打开MySQL慢查询 MySQL慢查询记录日志对于跟踪PHP+MySQL体系下的MySQL负载调优问题很有用处,比如安装了很多Discuz!插件的用户,这样可以大概排查出那些插件有代码问题。其实启用MySQL的慢查询日志很简单,只需要在MySQL的配...
admin 12年前(2015-03-15) 2604浏览
一直以来积累了很多对MySQL优化的心得和经验,计划通过写日志的方式一步一步写出来分享给大家。 MySQL优化的第一步应该做的就是排查问题,找出瓶颈,而通常情况下的瓶颈和问题都需要通过观察MySQL的运行情况来进行分析,《查看MySQL运行状况》这篇...
admin 12年前(2015-03-15) 6923浏览
结论: thread_concurrency 在GNU/Linux系统上没有用的。 不过很多LINUX自带的mysql包里面的配置文件都有thread_concurrency选项, 甚至Mysql官方源码里面的my-large.cnf my-inno...
admin 12年前(2015-03-15) 77浏览
列举了几种查看MySQL运行状况的方法,总结一下。 phpMyAdmin 最简单的方式,在phpMyAdmin直接点击状态查看,详细如下图。 这查看的是MySQL的一些运行状况数值,这种方式被大多数系统管理员所不齿,因为专业的MySQL服务器很少有能...
admin 12年前(2015-03-15) 3270浏览
先说一下本机环境,centos 6.5 64位,nagios是用yum装的,版本是Nagios Core 3.5.1,自带的就有check_mysql 1,修改commands.cfg # vim /etc/nagios/objects/comman...
admin 12年前(2015-03-15) 92浏览
这几天配置OpenVPN,使用了用户名密码的身份认证方式,借助已有的postfix邮箱帐号,省去了再为每个人设置用户名密码的麻烦。 原理很简单,OpenVPN服务器配置里有这样一句: auth-user-pass-verify /etc/openvp...
admin 12年前(2015-03-13) 77浏览
源码包 http://pan.baidu.com/s/1eQzPJB8 应用环境: 使用salt写了个自动部署mysql的配置配置管理文件,由于mysql的有版本号,端口等不确定属性,需要使用pillar来单独配置每个minion的属性。 一,原始方...
admin 12年前(2015-02-04) 3560浏览
在一次测试中,我碰到了一个sql注入的问题,在网上没有搜到解决办法,当时的注入点是在limit关键字后面,数据库是MySQL5.x,SQL语句类似下面这样: SELECT field FROM table WHERE id > 0 ORDER ...
admin 12年前(2014-07-29) 1056浏览
通常,我们会采用ORDER BY LIMIT start, offset 的方式来进行分页查询。例如下面这个SQL: SELECT * FROM `t1` WHERE ftype=1 ORDER BY id DESC LIMIT 100, 10; 或...
admin 12年前(2014-07-03) 3549浏览
实际应用中,尤其是在大规模访问的Web项目中,Memcache作为一种优秀的缓存解决方案,被广泛使用。其灵活性和可扩展性受到了广大开发者的青睐。为了提高响应速度,使用Memcache来减少数据查询运算是一种不错的选择。 关于Memcache的安装和配...
admin 12年前(2014-06-29) 930浏览
引言:项目的设备选型是一项细腻而又艰巨的任务。因为它有一次性、不可更改、兼容性、扩展性、功能性、性能性、易用性等参数阀值来参照。例如我们的项目,首先要了解今年的设备采购预算有多少,如何分配的,分配下来每个项目大概有多少,按照预算标准进行分级。其次由于...
admin 12年前(2014-06-27) 3254浏览
收到一个mysql服务器负载告警,上去一看,load average都飙到280多了,用top一看,CPU跑到了336%,不过IO和内存的负载并不高,根据经验,应该又是一起索引引起的惨案了。 看下processlist以及slow query情况,发...
admin 12年前(2014-06-27) 3203浏览
在 MySQL 主从复制时,有时候会碰到这样的故障:在 Slave 上 Slave_IO_Running 和 Slave_SQL_Running 都是 Yes,Slave_SQL_Running_State 显示 Slave has read all...
admin 12年前(2014-06-27) 3203浏览
今天一个朋友向我咨询怎么去优化 MySQL,我按着思维整理了一下,大概粗的可以分为21个方向。 还有一些细节东西(table cache, 表设计,索引设计,程序端缓存之类的)先不列了,对一个系统,初期能把下面做完也是一个不错的系统。 1. 要确保有...
admin 12年前(2014-04-29) 3407浏览
mysqldump,默认是导出整个库的,我们可以让它导出库的某些表: mysqldump -uroot -p1234556 db2 tables1 tables2 tables3 --default-character-set=utf8 --lock...