http://dba.stackexchange.com/questions/30505/why-does-mysql-produce-so-many-temporary-myd-files Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from o…
什么时候会使用临时表:group/order没设计好的时候 1.order没用索引 2.order用了索引, 但不是和where相同的索引 3.order用了两个索引, 但不是联合索引 4.order用了联合索引, 但排序顺序不同序 原因: 1.不用说 2.mysql一次只能用一个索引 3.4 其实原因一样, 和索引的结构有关: 索引是一个B+树, 比如一个联合索引如下(x, y): (2, 5) - (6, 10)  (7, 3) - (10, 19) ... 如果是联合索引, 排序同序, 取…
经常在服务器提权的时候,尤其是windows环境下,我们发现权限不高,却可以读取mysql的datadir目录,并且能够成功下载user.MYD这个文件.但是在读取内容的时候,经常会遇到root密码hash不完整的情况,手头又没有mysql环境或者 导入出错..可试试下列方法 看图 首先看上面图片,发现root的hash密文: *ABFA954DFEEF60FFF0B14 21位F2DF23A6B00 11位 前面带*号说明是40位加密把所有的密文hash全部列出来 *ABFA954DFEEF6…
using filesort 一般人的回答是: “当行数据太大,导致内存无法容下这些数据产生的临时表时,他们就会被放入磁盘中排序.”  很不幸,这个答案是错的 ,临时表在太大的时候确实会到磁盘离去,但是EXPLAIN不会显示这些. The truth is, filesort is badly named. Anytime a sort can’t be performed from an index, it’s a filesort. It has nothing to do with fil…
遇到一个SQL执行很慢 SQL 如下: SELECT ... FROM tableA WHERE time >= 1492044535 and time <= 1492046335 GROUP by time, sourceName, serverSite,clientSite; SELECT 部分忽略没写,是因为通常SQL执行慢不会跟这部分有关系,至少我没见过. 该语句非常简单,但是执行太慢.所以我们看一下执行计划 执行计划有几个字段我们比较关注: type:range possible_k…
  DBA发来一个线上慢查询问题. SQL例如以下(为突出重点省略部分内容): select distinct article0_.id, 等字段 from article_table article0_, hits_table articlehit1_ where article0_.id=articlehit1_.id order by hits; EXPLAIN结果:耗时4.03S 出乎意料. 居然会有Using temporary, order by仅仅用到了一张表. 正常情况下不会出现…
关于mysql 删除数据后物理空间未释放 OPTIMIZE TABLE 当您的库中删除了大量的数据后,您可能会发现数据文件尺寸并没有减小.这是因为删除操作后在数据文件中留下碎片所致.OPTIMIZE TABLE 是指对表进行优化.如果已经删除了表的一大部分数据,或者如果已经对含有可变长度行的表(含有 VARCHAR . BLOB 或 TEXT 列的表)进行了很多更改,就应该使用 OPTIMIZE TABLE 命令来进行表优化.这个命令可以将表中的空间碎片进行合并,并且可以消除由于删除或者更新造成…
HOW MYSQL USES INTERNAL TEMPORARY TABLES Table of Contents [hide] 1)UNION queries 2)Some views 3)SQL_SMALL_RESULT 4) Multiple-table UPDATE 5)Derived tables 6)subquery or semi-join 7)order by,group by,distinct 通过阅读MySQL的官方手册,我们可以知道出现下面情况的时候,MySQL可能会使用…
一.什么是Using temporary ; Using filesort 1. using filesort filesort主要用于查询数据结果集的排序操作,首先MySQL会使用sort_buffer_size大小的内存进行排序,如果结果集超过了sort_buffer_size大小,会把这一个排序后的chunk转移到file上,最后使用多路归并排序完成所有数据的排序操作. MySQL filesort有两种使用模式: 模式1: sort的item保存了所需要的所有字段,排序完成后,没有必要再…
以下内容参考官方文档:http://dev.mysql.com/doc/refman/5.7/en/windows-start-command-line.html 解压缩zip到D:\mysql-5.7.13-winx64,建立data目录D:\mysql-5.7.13-winx64\data, 在D:\mysql-5.7.13-winx64创建配置文件my.ini,详见: [mysqld] # set basedir to your installation path basedir=D:\m…
MySQL/MariaDB数据库的服务器配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL中的系统数据库 1>.mysql数据库 是mysql的核心数据库,类似于Sql Server中的master库,主要负责存储数据库的用户.权限设置.关键字等mysql自己需要使用的控制和管理信息 2>.performance_schema数据库 MySQL .5开始新增的数据库,主要用于收集数据库服务器性能参数,库里表的存储引擎均为PERFORMANCE_SCHEMA,…
1.数据库概述 简 而言之,数据库(DataBase)就是一个存储数据的仓库.为了方便数据的存储和管理,将数据按照特定的规律存储在磁盘上.通过数据库管理系统,可以有 效的组织和管理存储在数据库中的数据.如今,已经存在的Oracle.SQLServer.MySQL等诸多优秀的数据库.   详解内容: 数据存储方式 数据库在开发中的作用 数据库访问技术 MySQL数据库的介绍 数据库泛型 SQL语言 常见数据库系统 如果学习数据库   1.1 数据库理论基础 数据库能够将数据按照特定的规律组织起来.…
xtrabackup简介 xtrabackup是一个用来对mysql做备份的工具,它可以对innodb引擎的数据库做热备.xtrabackup备份和还原速度快,备份操作不会中断正在执行的事务,备份完成之后可以自动做校验,备份结果可以压缩(节省磁盘和带宽).实际工作中可以用来做mysql的完全备份,增量备份,以及差异备份等. xtrabackup有两个主要的工具:innobackupex和xtrabackup,xtrabackup只能备份InnoDB和XtraDB数据表,innobackupex封…
<>物理备份和逻辑备份<>联机备份和脱机备份<>本地备份和远程备份<>完整备份和增量备份<>完整恢复和增量恢复<>复制表相关文件方式创建备份:MyISAM引擎表关联的文件有三类:.frm .MYD .MYI只要将这些文件复制保存就相当于对表进行了备份.MyISAM的表在备份操作前需要先持有这类对象的只读锁定:flush tables tb1_list with read lock;然后cp相关文件即可,完成后释放锁unlock tab…
http://mysql.rjweb.org/bestof.html I have tagged many of the better forum threads. 'Better' is based on how good I thing the answer was. (<bias> I wrote many, but not all, of the better answers. </bias>) -- Rick James, MySQL Geek The Best of t…
3.查看库表的最后mysql修改时间, 如果第一次新建的表可能还没有update_time,所以这里用了ifnull,当update_time为null时用create_time替代 select TABLE_SCHEMA, TABLE_NAME,ifnull(update_time , create_time) from information_schema.TABLES where TABLE_SCHEMA='table_name' order by ifnull(update_time ,…
mysqlhotcopy is a perl script that comes with MySQL installation. This locks the table, flush the table and then performs a copy of the database. You can also use the mysqlhotcopy to automatically copy the backup directly to another server using scp.…
14.4 InnoDB Configuration 14.4.1 InnoDB Initialization and Startup Configuration 14.4.2 Configuring InnoDB for Read-Only Operation 14.4.3 InnoDB Buffer Pool Configuration 14.4.4 Configuring the Memory Allocator for InnoDB 14.4.5 Configuring InnoDB Ch…
内部临时表的类型和产生时机相关,翻译自:http://dev.mysql.com/doc/refman/5.6/en/internal-temporary-tables.html In some cases, the server creates internal temporary tables while processing queries. Such a table can be held in memory and processed by the MEMORY storage eng…
IN为什么慢? 在应用程序中使用子查询后,SQL语句的查询性能变得非常糟糕.例如: SELECT driver_id FROM driver where driver_id in (SELECT driver_id FROM driver where _create_date > '2016-07-25 00:00:00'); 独立子查询返回了符合条件的driver_id,这个问题是解决了,但是所用的时间需要6秒,可以通过EXPLAIN查看SQL语句的执行计划: 可以看到上面的SQL语句变成了相…
需求场景:原有的pxc环境数据量已经比较大,新买的服务器要加入此集群中,如何让其用IST的方式传输,而不是SST. PXC传输数据有两种方式: IST: Incremental State Transfer 增量同步    SST:State Snapshot Transfer 全量同步 IST 发生的条件:This is done using caching mechanism on nodes (即只发生在之前集群里的节点数据还有在缓存中) 判断方法: mysql> show global…
简介: MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件.在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用. 该软件由两部分组成:MHA Manager(管理节…
下载MySQL5.7.9 yum仓库 wget http://dev.mysql.com/get/mysql57-community-release-fc23-7-noarch.rpm rpm -ivh mysql57-community-release-fc23-7-noarch.rpm 验证仓库 dnf repolist enable | grep "mysql.*-community.*" 安装 dnf install mysql-community-server 启动mysql…
本文地址:http://www.cnblogs.com/yhLinux/p/4012689.html 本文适合新手入门. 本文是对 Ubuntu 12.04 环境下安装 MySQL 的记录,通过这两天的折腾,不断试错,才发现要完整地掌握 MySQL 安装其实并不复杂,关键是遇到问题时记住到官方文档寻找解决方案,在网络上搜索的网友的方法不一定适合你,而官方文档是比较全面的,建议大家有问题多看看. 安装MySQL的方法有多种方式,包括源码安装,包管理器安装,二进制安装等.之前,我使用最快的方式——包…
本文介绍在本地安装MYSQL数据库,免安装版相关配置 一.下载 mysql下载地址1:http://dev.mysql.com/downloads/mysql/ 二.解压MySQL压缩包 将已下载的MySQL压缩包解压到自定义目录下 三. 添加环境变量 变量名:MYSQL_HOME 变量值:E:\tools\mysql-5.6.24-winx64 即为mysql的自定义解压目录. 再在Path中添加  %MYSQL_HOME%\bin 四. 注册windows系统服务 将mysql注册为wind…
2.2 Installing MySQL on Unix/Linux Using Generic Binaries Oracle provides a set of binary distributions of MySQL. These include binary distributions in the form of compressed tar files (files with a .tar.gz extension) for a number of platforms, as we…
1.下载mysql监控脚本: [root@node1 app]# wget http://www.javabloger.com/att/gmetric-mysql.sh 2.修改脚本中的msyql用户名和密码 3.该脚本54和58号行机器不同需要进行修改(未查明原因),可以在$[ ]和$(())间替换.    我的修改成DELTA_VALUE=$[ NEW_VALUE-PREVIOUS_VALUE ].DELTA_TIMESTAMP=$[ NEW_TIMESTAMP-PREVIOUS_TIMES…
1. 背景介绍 什么是semi-join? 所谓的semi-join是指semi-join子查询. 当一张表在另一张表找到匹配的记录之后,半连接(semi-jion)返回第一张表中的记录.与条件连接相反,即使在右节点中找到几条匹配的记录,左节点 的表也只会返回一条记录.另外,右节点的表一条记录也不会返回.半连接通常使用IN  或 EXISTS 作为连接条件. 该子查询具有如下结构: SELECT ... FROM outer_tables WHERE expr IN (SELECT ... FR…
MySQL查询产生临时表的分析 官网说明的地址:http://dev.mysql.com/doc/refman/5.5/en/internal-temporary-tables.html 参考:http://blog.csdn.net/chenchaoxing/article/details/25214397 In some cases, the server creates internal temporary tables while processing queries. Such a t…
原文:http://ourlinux.blog.51cto.com/274624/844859 XtraBackup是percona公司提供的开源工具,以热备Innodb表著称而被广泛采用. XtraBackup对Innodb的备份之所以是热备,无需锁表,是基于Innodb自身的崩溃恢复机制,它首先复制所有的Innodb数据文件,这样 复制出来的文件肯定是不一致的,然后对每个文件进行崩溃恢复处理,最终达到一致.就和MySQL在启动Innodb的时候一样,会通过比较数据 文件头和redo log文…