mysql
liaoyuanzi
这个作者很懒,什么都没留下…
展开
-
MYsql 性能监控工具
整理自网络.用mysqldumpslow分析mysql的slow query logmysql有一个功能就是可以log下来运行的比较慢的sql语句,默认是没有这个log的,为了开启这个功能,要修改my.cnf或者在mysql启动的时候加入一些参数。如果在my.cnf里面修改,需增加如下几行引用long_query_time = 1log-slow-queries = /转载 2013-01-12 13:05:41 · 546 阅读 · 0 评论 -
MySQL索引与存储方式对性能的影响
本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/database/mysql_index_store_perfomance_effect.html本文配图来自《高性能MySQL(第二版)》。在数据库中,对性能影响最大的几个策略包括数据库的锁策略、缓存策略、索引策转载 2012-10-18 12:38:31 · 635 阅读 · 0 评论 -
生产环境搭建MySQL复制的教程
【导读】网络上有很多关于MySQL复制搭建的步骤和范例,以及手册上有一章完整的篇幅,讲述MySQL复制的原理、搭建步骤、优化等,但依然存在很多刚开始学习MySQL知识或者刚进入DBA行业的朋友咨询,知道搭建步骤,但还是在咨询生产环境的搭建或搭建过程碰到的问题,为此给大家简单讲述下复制的原理,并且讲述一下生产环境该如何搭建复制架构。n 复制的基本原理及基础知识使用3个线程来转载 2012-10-18 12:48:19 · 411 阅读 · 0 评论 -
MySQL数据库服务器端核心参数详解和推荐配置之三
【导读】MySQL手册上也有服务器端参数的解释,以及参数值的相关说明信息,现针对我们大家重点需要注意、需要修改或影响性能的服务器端参数,作其用处的解释和如何配置参数值的推荐,此事情拖了不少时间,为方便大家帮忙纠错(注:总是断断续续写的,可能存在笔误),先以文章的方式发布到网站,后续确定没问题,将会通过新浪微博的微盘提供PPT下载,方便学习和参考。l innodb_flush_lo转载 2012-10-18 12:38:56 · 424 阅读 · 0 评论 -
MySQL生产环境突发故障处理手册
1. LOAD飙高一般导致MySQL服务器LOAD突然飙高,可能的五种情况:1>.全表扫描的SQL语句;2>.SELECT操作语句的执行计划走错;3>.存在UPDATE/DELETE 语句没有索引可选择,而导致堵塞其他SQL语句的执行;4>.存在修改表结构或OPTIMIZE 语句执行;5>.大数据量的导入 或 导出,尤其数据库的逻辑备份操作;转载 2012-10-18 12:48:39 · 764 阅读 · 0 评论 -
InnoDB实现独立表空间多数据文件 (InnoDB multiple datafiles per single-tablespace)
本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/database/innodb_multiple_datafiles_per_single_tablespace.html我们知道,在Oracle中,每个表空间都可以由很多文件组成,这样文件的IO就可以分散在很多存储路径上转载 2012-10-18 12:48:04 · 965 阅读 · 0 评论 -
MySQL加速查询速度的独门武器:查询缓存
【导读】 与朋友或同事谈到mysql查询缓存功能的时候,个人喜欢把Query Cache比作荔枝,是非常营养的东西,但是一次性吃太多了,就容易导致上火而流鼻血,虽然不是特别恰当的比喻,但是有很多相似的地方,另外Query Cache有其特殊的业务场景,也不像其他数据库产品,缓存查询语句的执行计划等信息,而是直接缓存查询语句的记录集和对应的SQL语句。本文就给大家介绍下查询缓存的相关知转载 2012-10-18 12:47:49 · 432 阅读 · 0 评论 -
MySQL数据库存储引擎MyISAM和InnoDB的对比详解
一、简单介绍1.MyISAM:默认表类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法.不是事务安全的,而且不支持外键,如果执行大量的select,insert MyISAM比较适合。2.InnoDB:支持事务安全的引擎,支持外键、行锁、事务是他的最大特点。Innodb转载 2012-10-18 12:47:41 · 407 阅读 · 0 评论 -
生产环境紧急修改表存储引擎:MyISAM 为 InnoDB步骤
环境描述:某朋友公司进行一次数据库迁移,由于设置问题导致所有的数据库表储存引擎都设置为:MyISAM,按照业务需求,部分数据库表必须为:InnoDB,否则会导致事务执行失败及不起效,为此把需要的数据库表存储引擎从MyISAM 改为 InnoDB,而其数据库中大概有300多张表,其中将近三分之一表需要修改为:InnoDB,剩下的继续使用MyISAM引擎。备注:暂时没有一张innodb转载 2012-10-18 12:47:20 · 489 阅读 · 0 评论 -
MySQL Cluster 与 MongoDB 复制群集分片设计及原理
分布式数据库计算涉及到分布式事务、数据分布、数据收敛计算等等要求分布式数据库能实现高安全、高性能、高可用等特征,当然也带来了高成本(固定成本及运营成本),我们通过MongoDB及MySQL Cluster从实现上来分析其中的设计思路,用以抽象我们在设计数据库时,可以引用的部分设计方法,应用于我们的生产系统 首先说说关系及非关系数据库的特征 MySQL的Innodb及Clus转载 2012-10-18 12:47:11 · 616 阅读 · 0 评论 -
MySQL数据库服务器端核心参数详解和推荐配置之二
【导读】MySQL手册上也有服务器端参数的解释,以及参数值的相关说明信息,现针对我们大家重点需要注意、需要修改或影响性能的服务器端参数,作其用处的解释和如何配置参数值的推荐,此事情拖了不少时间,为方便大家帮忙纠错(注:总是断断续续写的,可能存在笔误),先以文章的方式发布到网站,后续确定没问题,将会通过新浪微博的微盘提供PPT下载,方便学习和参考。l innodb_commit_c转载 2012-10-18 12:46:49 · 536 阅读 · 0 评论 -
Cacti监控功能介绍
1 简介Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。Cacti是通过 snmpget来获取数据,使用 RRDtool绘画图形。在需要监控的机器上,可以自定义脚本采集相关参数数据,通过SNMP服务采集发送给CACTI,由RRDTool绘制参数变化趋势图。2 监控输出趋势图查看说明趋势图数据单位说明:如上图所示,趋转载 2012-10-18 12:48:48 · 2374 阅读 · 0 评论 -
MySQL的热备份开源工具XtraBackup
首先代表所有使用者,感谢PERCONA的无私贡献,今天简单介绍一下 MySQL 免费热备工具 XtraBackup , 特别是几个使用时值得注意的地方。1. 下载XtraBackup并安装当前最新的版本是1.6 ,从这里可以选择不同OS的相应版本:http://www.percona.com/downloads/XtraBackup/XtraBackup-1.6/在LINU转载 2012-10-18 12:48:28 · 561 阅读 · 0 评论 -
mysql删除大表更快的drop table办法
曾经发文介绍过,DROP table XXX ,特别是碰到大表时,http://www.mysqlops.com/2011/02/18/mysql-drop-table-%e5%a4%84%e7%90%86%e8%bf%87%e7%a8%8b.html在DROP TABLE 过程中,所有操作都会被HANG住。这是因为INNODB会维护一个全局独占锁(在table cache上面),直到转载 2012-10-18 12:47:54 · 499 阅读 · 0 评论 -
自编译MySQL指南 2.0
一般情况下,用户选择的MySQL安装方式为 RPM包 或 二进制压缩包,但是,通用安装包为了适应不同的软硬件平台,都会采用保守的编译方式,功能上也是选择最常用最稳定的功能编译入二进制版本。虽然这满足了大部分用户的需求,但是有时我们仅仅需要一部分功能(例如我们不需要Query Cache,但这个模块编译时不去掉的话,运行时依然会触发其代码清理Query Cache内存池,并引发过Bug),或者有转载 2012-10-18 12:47:31 · 536 阅读 · 0 评论 -
MySQL UUID函数的详解
MySQL UUID函数的详解MySQL中可以有二类用于生成唯一值性质的工具:UUID()函数和自增序列,那么二者有何区别呢?我们就此对比下各自的特性及异同点:l 都可以实现生成唯一值的功能;l UUID是可以生成时间、空间上都独一无二的值;自增序列只能生成基于表内的唯一值,且需要搭配使其为唯一的主键或唯一索引;l 实现方式不一样,UUID是随机+规则转载 2012-10-11 15:05:29 · 596 阅读 · 0 评论 -
MySQL数据库服务器端核心参数详解和推荐配置之一
【导读】MySQL手册上也有服务器端参数的解释,以及参数值的相关说明信息,现针对我们大家重点需要注意、需要修改或影响性能的服务器端参数,作其用处的解释和如何配置参数值的推荐,此事情拖了不少时间,为方便大家帮忙纠错(注:总是断断续续写的,可能存在笔误),先以文章的方式发布到网站,后续确定没问题,将会通过新浪微博的微盘提供PPT下载,方便学习和参考。l lower_case_tabl转载 2012-10-18 12:47:01 · 482 阅读 · 0 评论 -
MySQL中两种索引Hash与B-Tree的区别
MySQL Hash索引和B-Tree索引的区别究竟在哪里呢?相信很多人都有这样的疑问,下文对两者的区别进行了详细的分析,供您参考。 MySQL Hash索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页 MySQL Hash索引和B-Tree索引的区别究竟在哪里呢?相信很多人都有这样的疑问,下文对两者的区别进行了转载 2012-10-19 14:35:22 · 1165 阅读 · 0 评论 -
MySQL CREATE EVENT创建任务计划定时执行任务
自 MySQL5.1.6起,增加了一个非常有特色的功能–事件调度器(Event Scheduler),可以用做定时执行某些特定任务(例如:删除记录、对数据进行汇总等等),来取代原先只能由操作系统的计划任务来执行的工作。更值得 一提的是MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务(如:Linux下的CRON或Windows下的任务计划)只能精 确到每分钟执行一次。对于一些原创 2012-10-26 14:26:05 · 1566 阅读 · 0 评论 -
ETL
百科名片ETL,Extraction-Transformation-Loading的缩写,中文名称为数据提取、转换和加载。 ETL工具有:OWB(Oracle Warehouse Builder)、ODI(Oracle Data Integrator)、Informatic PowerCenter、AICloudETL、DataStage、Repository Explorer转载 2013-01-10 14:05:46 · 666 阅读 · 0 评论 -
MySQL CMake参数说明手册
MySQL自5.5版本以后,就开始使用CMake编译工具了,因此,你在安装源文件中找不到configure文件是正常的。很多人下到了新版的MySQL,因为找不到configure文件,不知道该怎么继续下去 ……MySQL自5.5版本以后,就开始使用CMake编译工具了,因此,你在安装源文件中找不到configure文件是正常的。很多人下到了新版的MySQL,因为找不到confi转载 2013-01-10 11:51:51 · 592 阅读 · 0 评论 -
Linux下源码编译安装MySQL 5.5.8
01准备工作:002 003新建用户和用户组004 005groupadd mysql006useradd -g mysql mysql转载 2013-01-10 11:47:17 · 509 阅读 · 0 评论 -
MYSQL5.5源码编译配置选项
说明:蓝色=命令名称浅绿=命令参数浅蓝=选项紫色=目录一、安装简介用户名:mysql安装目录:/usr/local/mysql-5.5.20数据库目录:/data/mysql/data源码包:mysql-5.5.21.tar.gz二、安装准备添加用户useradd -s /sbin/nologin mysql建立所需目转载 2013-01-10 11:44:59 · 832 阅读 · 0 评论 -
MySQL+Heartbeat+DRBD构建高可用MySQL环境
Distributed Replicated Block Device(DRBD)是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案。数据镜像:实时、透明、同步(所有服务器都成功后返回)、异步(本地服务器成功后返回)DBRD的核心功能通过Linux的内核实现,最接近系统的IO栈,但它不能神奇地添加上层的功能比如检测到EXT3文件系统的崩溃。 DBRD的位置处于转载 2013-01-05 11:25:00 · 550 阅读 · 0 评论 -
实战模拟监控MySQL服务shell脚本小结
1)端口判断法==>仅适合数据库本地使用法1:if条件判断方法[root@oldboy scripts]# cat check_db01.sh#!/bin/sh#created by oldboy#mail:oldboy521@gmail.comPortNum=`netstat -lnt|grep 3306|wc -l`if [ $PortNum -eq 1 ]转载 2012-12-18 10:38:12 · 560 阅读 · 0 评论 -
双机热备+负载均衡 线上方案 (Heartbeat+DRBD+NFS+Keepalived+Lnmp)
对于网站服务器来说,可靠性之重要不用我多说,但要想做到可靠性一般需要昂贵的设备,这里最主要是就是数据同步用的共享磁盘了,磁盘柜+磁盘一共下来是20多万,这对于追求最高性价比的双机负载热备方案来说是极其不靠谱的,尤其是中小型企业,私有企业,一般经理是不会考虑这么高的成本的。我们通常做都是四台服务器+一个磁盘柜子+千兆交换机,那么这个成本下来将近30万了,而且这个方案有个弊端就是 存储依然存在单点故障转载 2012-12-27 12:16:20 · 1361 阅读 · 0 评论 -
优化的内存访问 TCMalloc
TCMalloc (google-perftools) 是用于优化C++写的多线程应用,比glibc 2.3的malloc快。这个模块可以用来让MySQL在高并发下内存占用更加稳定。详细的安装步骤:#tar zxvf libunwind-0.98.6.tar.gz#cd libunwind-0.98.6#./configure#make#make install转载 2012-12-26 09:58:31 · 394 阅读 · 0 评论 -
用google-perftool分析程序的内存/CPU使用
最近,用到了google-perftool分析程序的内存和CPU的使用情况,总结一下使用的一些方法和体会,分享给有需要的朋友。首先,说说google-perftool,它是由google开发的用来分析C/C++程序性能的一套工具,这里的性能分析主要包括内存和CPU 两个方面,内存分析使用google-perftool所提供的tcmalloc,CPU分析使用它所提供的profiler。下面先分别介绍转载 2012-12-26 09:55:15 · 984 阅读 · 0 评论 -
JDBC连接池、监控组件 Druid
Druid是一个JDBC组件,它包括三部分: DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。 DruidDataSource 高效可管理的数据库连接池。 SQLParser Druid可以做什么? 1) 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分转载 2012-12-26 09:47:44 · 936 阅读 · 0 评论 -
基于SSL实现MySQL的加密主从复制
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://laoguang.blog.51cto.com/6013350/1079787大家都知道MySQL的主从复制是明文传输的,这对一些特殊业务来说是不允许的,下面来尝试构建基于SSL的主从复制环境:RHEL5.8 SELinux关闭,iptables关闭,MySQL 5转载 2012-12-13 10:49:53 · 836 阅读 · 1 评论 -
有关MYSQLDUMP的详细解释
前提: 使用mysqldump的用户,必须至少具有SELECT 和 LOCK TABLES的权限。库或者表。如果要使用--tab开关,还必须有FILE的权限准备工作:库以及表:Table Create Table ------ -------------------------------------转载 2012-12-13 10:18:46 · 352 阅读 · 0 评论 -
Centos5.6 x86下部署安装DRBD+Heartbeat+MySQL
服务器平台是Dell R410,系统采用的Centos5.6 x86_64,系统盘采用的是Raid1,然后单独拿了一块SAS 500G的硬盘出来准备给DRBD系统用, 这里没有采用单独分区的做法,这是因为在测试中我们发现,单独分区做为DRBD系统使用时,经常有如下报错(以下数据采集来自于实验环境)。特与大家分享。AD:【51CTO独家特稿】报错信息如下所示:转载 2012-12-25 11:45:23 · 776 阅读 · 0 评论 -
mysqldump参数选项
参数参数说明--all-databases , -A导出全部数据库。mysqldump -uroot -p --all-databases--all-tablespaces , -Y导出全部表空间。mysqldump -uroot -p --all-databases --all-tablespaces--no-tablespaces , -y不导出任原创 2012-12-24 14:20:17 · 488 阅读 · 0 评论 -
Centos linux 5.4x86 安装DRBD+Heartbeat+Mysql
DRBD实现原理图DRBD(Distributed Replicated Block Device),分布式复制块设备,是一种通过TCP/IP网络实现块设备数据实时镜像的方案。利用这种方案,单一主节点模式(single primary mode)双机系统能够实时地将业务数据保存在主备节点的磁盘中,正常情况下两个节点的数据是一模一样的。HeartBeat在此是用来做热备切换的,两转载 2012-12-24 16:42:07 · 1131 阅读 · 0 评论 -
由浅入深理解索引的实现(2)
教科书上的B+Tree是一个简化了的,方便于研究和教学的B+Tree。然而在数据库实现时,为了更好的性能或者降低实现的难度,都会在细节上进行一定的变化。下面以InnoDB为例,来说说这些变化。04 - Sparse Index中的数据指针 在“由浅入深理解索引的实现(1)”中提到,Sparse Index中的每个键值都有一个指针指向 所在的数据页。这样每个B+Tre转载 2012-10-11 15:03:24 · 472 阅读 · 0 评论 -
自己动手实现Multi-Master Replication
直到今天为止,MySQL依然只支持一个Slave从一个Master复制数据,虽然也可以做到一主多备(M->S),双主复制(MM)等架构,但是局限性依然很大。例如最近我们遇到一个问题,需要为线上的集群搭建在线延时备份,即从线上的双主集群中再延伸出一组Slave,以防重要集群主备都宕机。按照现在MySQL的架构,要搭建这种在线备份,只能启动相同数据的实例来实现,假设线上有128个实例在提供服务,那转载 2012-10-11 14:52:13 · 719 阅读 · 0 评论 -
MySQL数据库InnoDB存储引擎多版本控制(MVCC)实现原理分析
导读: 来自网易研究院的MySQL内核技术研究人何登成,把MySQL数据库InnoDB存储引擎的多版本控制(简称:MVCC)实现原理,做了深入的研究与详细的文字图表分析,方便大家理解InnoDB存储引擎实现的多版本控制技术(简称:MVCC)。基本知识假设对于多版本控制(MVCC)的基础知识,有所了解。MySQL数据库InnoDB存储引擎为了实现多版本的一致性读,采用的是基转载 2012-10-11 14:38:14 · 1116 阅读 · 0 评论 -
innodb使用大字段text,blob的一些优化建议
最近看到一些老应用,在表结构的设计上使用了text或者blob的字段;其中一个应用,对blob字段的依赖非常的严重,查询和更新的频率也是非常的高,单表的存储空间已经达到了近100G,这个时候,应用其实已经被数据库绑死了,任何应用或者查询逻辑的变更几乎成为不可能;为了清楚大字段对性能的影响,我们必须要知道innodb存储引擎在底层对行的处理方式:知识点一:在5.1中,innodb存储转载 2012-09-12 17:31:01 · 1249 阅读 · 0 评论 -
如何避免MySQL使用Linux的SWAP分区
Linux有很多很好的内存、IO调度机制,但是并不会适用于所有场景。对于DBA来说Linux比较让人头疼的一个地方是,它不会因为MySQL很重要就避免将分配给MySQL的地址空间映射到swap上。对于频繁进行读写操作的系统而言,数据看似在内存而实际上在磁盘是非常糟糕的,响应时间的增长很可能直接拖垮整个系统。这篇blog主要讲讲我们作为DBA,怎样尽量避免MySQL惨遭swap的毒手。首先我转载 2012-09-12 15:38:47 · 506 阅读 · 0 评论 -
MMM试验
mysql-mmm的作用很简单就是读和写以ip的形式分离出来,并且可以全自动对mysql主从配置进行故障切换。整个架构如下图:操作系统全部为centos5.5 32bitmysql版本为mysql-5.1.59mysql-mmm版本为mysql-mmm-2.2.1另外还需要4个虚拟IP,作用为:192.168.93.141 数据库写入ip192.168.93.142转载 2012-09-12 15:32:30 · 2614 阅读 · 0 评论