天堂

  :: :: 博问 :: 闪存 :: :: :: 订阅 订阅 :: 管理 ::

随笔分类 -  MYSQL

上一页 1 2

MYSQL
摘要:昨天才第一次知道还有tuning-primer.sh这么个参数调优的脚本,然后和小周进行了分享,早上收到邮件他说这个脚本的数据不是很准确。于是就查看了它的代码,解析如下:1:运行这个脚本可以看到花花绿绿的文字颜色的,就是在这里定义的export black='\033[0m'export boldblack='\033[1;0m'export red='\033[31m'。。。。。。。。2:打印报告信息的头。print_banner ()3:检查socket,如果第一次配置后保存到了~/my.cnf,那么就直接去~/my.cnf取,要么就用/va 阅读全文
posted @ 2013-04-09 14:11 zuoxingyu 阅读(644) 评论(0) 推荐(0)

摘要:#各种依赖包下载地址http://www.cpan.org/modules/by-module#一共要安装的依赖包:Time::HiRes,Term::ReadKey,DBI,DBD::mysql#下载,解压缩[bzuo@devdb7 ~]$ wget http://innotop.googlecode.com/files/innotop-1.8.0.tar.gz[bzuo@devdb7 ~]$ tar zxvf innotop-1.8.0.tar.gz#安装,报错[bzuo@devdb7 innotop-1.8.0]$ perl Makefile.PL Can't locate Ex 阅读全文
posted @ 2013-04-09 13:22 zuoxingyu 阅读(1151) 评论(0) 推荐(0)

摘要:5.5.205.6.10mysqldump Ver 10.13 Distrib 5.5.20, for Linux (x86_64)Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.mysqldump Ver 10.13 Distrib 5.6.10, for Linux (x86_64)Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.--no-defaults Don't read 阅读全文
posted @ 2013-03-31 19:51 zuoxingyu 阅读(414) 评论(0) 推荐(0)

摘要:这里有一篇译文,对5.6在线DDL的操作做了介绍,5.6里对在线DDL做了很多的优化,从译文里的表5.9可以看到,很多操作不需要做copying data操作。下面这段话很有启发作用:对于DDL操作一个基本的想法:它的变化是就地执行还是执行表拷贝, 在命令结束之后看看显示“rows affected “的值。例如,这里您可能会看到在做不同类型的DDL操作:修改列默认值(超级快,不影响表的所有数据): Query OK, 0 rows affected (0.07 sec)添加索引 (需要时间, 但0 rows affected 表明表没有被复制): Query OK, 0 rows affec 阅读全文
posted @ 2013-03-28 14:44 zuoxingyu 阅读(2919) 评论(0) 推荐(0)

摘要:现象:在线上环境,一条慢查询没有用到索引,表大小适中,加索引实际在3-5S内,决定在线添加。mysql版本:5.1.56-community-log ,plugin innodb版本:1.0.15。在添加索引的过程中,有原来的慢查询对此表进行访问,程序端返回错误:"1412: Table definition has changed, please retry transaction (172.16.0.100)".检查错误日志,里面也记录了相应的错误信息:130324 3:55:55 [ERROR] Got error 159 when reading table  阅读全文
posted @ 2013-03-27 14:41 zuoxingyu 阅读(9362) 评论(0) 推荐(1)

摘要:select*fromscwhere(selectcount(*)fromscsc2wheresc2.score>sc.scoreandsc2.class=sc.class)<=2orderbysc.class,sc.scoredesc;select*fromschaving(selectcount(*)fromsct1wheret1.class=sc.classandt1.score>=sc.score)<=3;select*fromscwhereexists(selectcount(*)fromscsc2wheresc2.score>sc.scoreandsc 阅读全文
posted @ 2013-03-07 16:39 zuoxingyu 阅读(216) 评论(0) 推荐(0)

摘要:在这篇文章里,Peter讲述了一个例子,通过不同的办法做optimize,效率居然相差有20倍。在INNODB里,optimize table 操作会被重写为recreate + analyze,表被重建,这和做alter table的过程相似。下面测试下这个方法对于alter table 是不是同样有效,从理论上来说,plugin innodb 或5.6里增加的fast index creation特性,增加删除索引都不做load data操作,应该会快一些。<<<<<<<<<<<<<<<<< 阅读全文
posted @ 2013-03-01 16:21 zuoxingyu 阅读(394) 评论(1) 推荐(0)

摘要:前面在一个朋友的项目里面分析慢查询日志的时,看到注释也记录在日志里面,而且注释内容比较巧妙,如/* module_name-function_name*/,在SQL里面嵌入了使用这个SQL的模块和函数名称,这在调查SQL出处的时候非常方便。用别的办法比如全代码搜索,然后一个个看也可以做到。当时对注释是如何记录到日志的没明白怎么做到的,今天看到这篇文章时,才注意到-c这个参数。文档里是这么说明的,默认是--skip-comments,不把注释发送到服务器 -c, --comments Preserve comments. Send comments to the server. Th... 阅读全文
posted @ 2013-02-20 10:51 zuoxingyu 阅读(477) 评论(0) 推荐(0)

摘要:DELIMITER // CREATE FUNCTION substr_count(in_haystack mediumtext, in_needle varchar(255), in_offset int unsigned, in_length int unsigned) RETURNS int unsigned LANGUAGE SQL DETERMINISTIC NO SQL SQL SECURITY INVOKER BEGIN DECLARE v_count, v_haystack_len, v_needle_len, v_offset, v_endpos int u... 阅读全文
posted @ 2013-02-18 14:16 zuoxingyu 阅读(235) 评论(0) 推荐(0)

摘要:今天群里一朋友爆出这么一个错误(show slave status)Last_Error: Column 0 of table 'mydb.t' cannot be converted from type 'mediumint' to type 'int(10) unsigned'环境是master-slave,原表的字段类型是'mediumint',发现用尽后想扩充数据类型,改成INT类型,先在slave上把字段类型修改到int,再把APP切换到SALVE,再修改MASTER。这也是大表DDL的常见操作流程。分析一下slave 阅读全文
posted @ 2013-01-14 17:18 zuoxingyu 阅读(649) 评论(1) 推荐(0)

摘要:表结构:mysql> desc PLUGINDATA;+--------------+--------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+--------------+--------------+------+-----+---------+-------+| PLUGINDATAID | bigint(20) | NO | PRI | NULL | || PLUGINKEY | varchar(... 阅读全文
posted @ 2012-12-21 16:38 zuoxingyu 阅读(3015) 评论(0) 推荐(0)

摘要:在实际工作中,数据文件被RM -RF掉的情况比较少见,常见的是DROP TABLE ,TRUNCATE TABLE,DELETE FROM TABLE WHERE 1=1;如果遇到了RM掉数据文件时,千万不要慌张,HOLD住,停止所有的操作,保留现场。下面的方法可以找回丢失的数据文件。1:创建测试表,写入数据mysql> create table tt(a int) engine=myisam;Query OK, 0 rows affected (0.13 sec) mysql> insert into tt values(10),(20),(30);Query OK, 3 row 阅读全文
posted @ 2012-10-17 15:58 zuoxingyu 阅读(614) 评论(2) 推荐(1)

摘要:1:数据目录 1 mysql> show global variables like '%datadir'; 3 +---------------+------------------+ 5 | Variable_name | Value | 7 +---------------+------------------+ 9 | datadir | /home/mysqldata/ |11 +---------------+------------------+13 1 row in set (0.00 sec)2:INNODB数据文件。存储INNODB数据,索引<I 阅读全文
posted @ 2012-09-28 13:45 zuoxingyu 阅读(335) 评论(0) 推荐(0)

摘要:今天在review 一个SQL的时候,发现即使在列前面有函数操作,查询也能够使用到索引,如下:(OLD)1 mysql> desc SELECT sql_no_cache COUNT(1) FROM Appointment WHERE YEAR(ScheduledDate)=YEAR(NOW()) AND MONTH(ScheduledDate)=MONTH(NOW()); +----+-------------+-------------+-------+---------------+---------------+---------+------+---------+------- 阅读全文
posted @ 2012-09-27 17:24 zuoxingyu 阅读(1460) 评论(1) 推荐(1)

摘要:#原shell版View Code 1 #!/bin/bash 2 3 # Script Name: mysql_status_check.sh 4 # Description: check mysql servers status 5 # Author: Xinggang Wang - OpsEye.com 6 # Create Date: 2012/3/30 7 8 #获取MySQL所在服务器IP/端口/用户名/密码 9 read -p "Host=" HOST 10 read -p "Port=" PORT 11 read -p "Use 阅读全文
posted @ 2012-09-26 14:08 zuoxingyu 阅读(2417) 评论(0) 推荐(1)

上一页 1 2