自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

转载 MySQL的InnoDB的幻读问题

MySQL InnoDB事务的隔离级别有四级,默认是“可重复读”(REPEATABLE READ)。未提交读(READ UNCOMMITTED)。另一个事务修改了数据,但尚未提交,而本事务中的SELECT会读到这些未被提交的数据(脏读)。提交读(READ COMMITTED)。本事务读取到的是最新的数据(其他事务提交后的)。问题是,在同一个事务里,前后两次相同的SELECT会读到不同的结果

2015-04-26 10:50:25 617

原创 Oracle RAC的VIP和SCAN IP

我们都知道Oracle RAC中每个节点都有一个虚拟IP,简称VIP,与公网IP在同一个网段。    没有VIP时,Oracle客户端是靠“TCP/IP协议栈超时”来判断服务器故障。而TCP/IP协议栈是作为OS Kernel的一部分来实现,不同的OS有不同的阀值,用户获悉数据库异常的时间完全取决于OS Kernel的实现,虽然有些OS允许修改这个阀值,但是会对其它程序产生未知影响。因此,

2015-04-24 23:52:13 950

原创 Keepalived 安装与配置

Keepalived 安装与配置一、环境说明1、操作系统内核版本:2.6.18-371.12.1.el52、Keepalived软件版本:keepalived-1.1.20.tar.gz二、环境配置1、主Keepalived服务器(MySQL主库)IP地址 192.168.10.12、备Keepalived服务器(MySQL从库)IP地址 192.168.10.23、K

2015-04-23 18:58:08 499

原创 pt-table-checksum

(1)、pt-table-checksum 工具名称(2)、安装pt-table-checksum#:wget www.percona.com/downloads/percona-toolkit/2.2.2/percona-toolkit-2.2.2.tar.gz#:tar -xvf percona-toolkit-2.2.2.tar.gz#:perl Makefile.PL

2015-04-23 18:46:08 629

原创 DG日志不应用,GAP,主备切换解决思路与办法

对于DG故障解决思路,DG日志切换不进行应用,DG出现GAP解决方法,DG主备库切换,当DG出现故障时,第一时间检测alert日志,服务器OS日志,网络是否通畅。1、当DG出现日志不能传输到备库   一、TNS配置错误,监听配置错误。   二、主备库初始化参数文件配置错误(如archive_log_dest文件位置错误)。   三、备库控制文件过旧,从主库生成一个STA

2015-04-15 11:30:59 2083

原创 DG下手工处理v$archive_gap方法

从9i以后,oracle dataguard 备库一般都不需要手工处理丢失的日志,FAL自动会帮我们处理,下面通过个案例来讲下手工处理丢失的日志的方法:1.在备库查询有哪些日志丢失,没应用到备库 SQL> select * from V$ARCHIVE_GAP;   THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#---------- -----------

2015-04-15 11:29:55 1241

原创 innobackupex<五、参数详解>

xtrabackup备份和恢复MySQLxtrabackup有两个主要的工具:innobackupex和xtrabackup,xtrabackup只能备份InnoDB和XtraDB数据表,innobackupex封装了xtrabackup,可以备份MyISAM数据表。MySQL数据库本身提供的工具并不支持真正的增量备份,二进制日志恢复是point-in-time(时间点)的恢复而不

2015-04-14 15:43:14 4724

原创 yum错误ImportError: No module named cElementTree的处理

Loaded plugins: fastestmirror, securityDetermining fastest mirrorsTraceback (most recent call last): File "/usr/bin/yum", line 29, in yummain.user_main(sys.argv[1:], exit_code=True) File "/

2015-04-14 14:47:48 3138 1

原创 pt-query-digest查询日志分析工具

1. 工具简介pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog、General log、slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdump抓取的MySQL协议数据来进行分析。可以把分析结果输出到文件中,分析过程是先对查询语句的条件进行参数化,然后对参数化以后的查询进行分组统计,统计出各查询的执行时间、次数、占比等,可以借助分

2015-04-12 20:44:39 425

原创 两主机搭建MySQL主从复制后,show slave status显示:Last_IO_Error: error connecting to master ……

两台主机A、B搭建mysql主从复制关系(A为master,B为slave)后,在slave上执行show slave status,结果中显示Last_IO_Error: error connecting to master 'replication@VMS00782:3306'……首先查看B的错误日志文件,发现如下错误:ERROR] Slave I/O: error connectin

2015-04-09 10:52:16 505

原创 删除mysql二进制日志的方式

一.PURGE MASTER LOGS语法PURGE {MASTER | BINARY} LOGS TO 'log_name'   --用于删除指定的日志PURGE {MASTER | BINARY} LOGS BEFORE 'date'  --用于删除日期之前的日志,BEFORE变量的date自变量可以为'YYYY-MM-DD hh:mm:ss'格式如:(MASTER 和BI

2015-04-09 10:50:03 447

原创 innodb_flush_method 与 File I/O

陶方在《innodb_flush_method带来的性能影响》中从实验角度比较了fdatasync,O_DSYNC和O_DIRECT在性能上的差异。本文将试图从Linux/Unix"文件I/O"(unbuffered I/O)的角度来解释innodb_flush_method是如何影响MySQL的I/O。【附录1】innodb_flush_log_at_trx_commit参数确定日志文件

2015-04-07 16:36:36 506

原创 innodb_flush_log_at_trx_commit和innodb_flush_method

innodb_flush_log_at_trx_commit:     主要控制了innodb将log buffer中的数据写入日志文件并flush磁盘的时间点,取值分别为0、1、2三个。0,表示当事务提交时,不做日志写入操作,而是每秒钟将log buffer中的数据写入日志文件并flush磁盘一次;1,则在每秒钟或是每次事物的提交都会引起日志文件写入、flush磁盘的操作,确保了事务的ACI

2015-04-07 14:42:15 731

原创 innodb_flush_method理解

innodb_flush_method这个参数控制着innodb数据文件及redo log的打开、刷写模式,对于这个参数,文档上是这样描述的:有三个值:fdatasync(默认),O_DSYNC,O_DIRECT默认是fdatasync,调用fsync()去刷数据文件与redo log的buffer为O_DSYNC时,innodb会使用O_SYNC方式打开和刷写redo log,使用f

2015-04-07 09:30:50 10047

原创 Innodb IO优化-配置优化

对于数据库来讲大多瓶颈都出现在IO问题上,所以现在SSD类的设备也才能大行其道。那数据库的IO这块有什么可以优化的吗? 我这里大致谈一下我的看法,希望能达到一个抛砖引玉的效果。这里谈一下数据库本身的配置方面具体如下:配置方面对于IO优化的原则:尽可能能缓存,减少读对数据库的随机IO的请求;同时减少写的随机IO的随时发生,利用各种buffer去缓存。下面来看一下这块的参数:i

2015-04-07 09:06:38 473

转载 Innodb_io_capacity 对于IO稳定性的一些研究

背景:最近在做一台线上服务器IO负载情况的时候发现了以下现象:24小时的IO_UTIL 的曲线看似风平浪静,毛刺较少但当图片放大到半小时级别的时候发现IO_UTIL即磁盘使用率出现了规律性的波动,见下图:本文就将从这个现象触发,探究出现这样规律性波动的原因。 Step1: 服务器上进行实时IO负载查看通过iostat -x 1 每隔一秒对IO使用情况

2015-04-07 09:01:15 464

原创 my.cnf之innodb相关参数

innodb_buffer_pool_size官方的解释:The size in bytes of the buffer pool, the memory area where InnoDB caches table and index data. The default value is 128MB. The maximum value depends on the CPU archit

2015-04-06 22:48:39 855

原创 table_open_cache参数对mysql性能的影响

Table_open_cache:表描述符缓存大小,可减少文件打开/关闭次数; 为了避免线程相互干扰,每个访问表的线程各自维护一个文件描述符,多耗了内存但是提高了性能,即一个sql若调用了2次表,也需要分配2个文件描述符;对于MyISAM表,第一次打开时需要两个描述符,其中一个为索引文件(可被后续线程共享);假定系统有200个并发连接,则需将此参数设置为200*N(N为每个连接所需

2015-04-06 17:37:43 1495

原创 mysql 性能优化之 count(*) VS count(col)

优化mysql数据库时,经常有开发询问 count(1)和count(primary_key) VS count(*)的性能有何差异?看似简单的问题,估计会有很多人对此存在认知误区:1. 认为count(1) 和 count(primary_key) 比 count(*) 的性能好。2. count(column) 和 count(*) 效果是一样的。本文对上述两点做如下测试,测试

2015-04-06 13:53:43 790

原创 mysql字符集与乱码解决

解决乱码的方法是,在执行SQL语句之前,将MySQL以下三个系统参数设置为与服务器字符集character-set-server相同的字符集character-set-server/default-character-set:服务器字符集,默认情况下所采用的。 character-set-database:数据库字符集。 character-set-table:数据库表字符集。

2015-04-03 00:04:46 563

原创 wait_timeout和interactive_timeout区别

wait_timeout -- 指的是mysql在关闭一个非交互的连接之前所要等待的秒数interactive_time -- 指的是mysql在关闭一个交互的连接之前所要等待的秒数(交互连接如mysql gui tool中的连接)对性能的影响:wait_timeout:(1)如果设置大小,那么连接关闭的很快,从而使一些持久的连接不起作用(2)如果设置太大,

2015-04-02 23:36:46 424

原创 Linux I/O 调度方法

操作系统的调度有CPU调度    CPU schedulerIO调度       IO schedulerIO调度器的总体目标是希望让磁头能够总是往一个方向移动,移动到底了再往反方向走,这恰恰就是现实生活中的电梯模型,所以IO调 度器也被叫做电梯. (elevator)而相应的算法也就被叫做电梯算法.而Linux中IO调度的电梯算法有好几种,as(Antic

2015-04-02 16:32:35 448

原创 MySQL日志管理

MySQL日志管理一、日志类型:MySQL有几个不同的日志文件,可以帮助你找出mysqld内部发生的事情:日志文件 记入文件中的信息类型错误日志 记录启动、运行或停止时出现的问题。查询日志 记录建立的客户端连接和执行的语句。二进制日志 记录所有更改数据的语句。主要用于复制和即时点恢复。慢日志 记录所有执行时间超过long_query_time秒的所有查询或不使用

2015-04-02 12:50:26 416

原创 MySQL复制,replicate-ignore-db模式下 如何正常同步

在复制中,如果启用参数 replicate-ignore-db / replicate-do-db 后想要让复制正常运行,只需在连接数据库后不执行 "use db" 语句即可,如果是在php中,连接数据库后,不再执行 mysql_select_db() 即可。这是因为复制机制会判断是否使用了 replicate-do(ignore)-db 参数,然后判断当前数据库是否为指定的数据库,如果是,才执行

2015-04-02 11:22:16 1752

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除