【Mysql】Mysql似oracle分析函数sum over的实现
先看oracle怎么实现的select deptno,ename,sal,sum(sal) over(order by ename) from emp; --姓名排序连续求和select deptno,ename,sal,sum(sal) over(order by deptno) from emp; --所有部们排序连续求和select deptno,ename,sal,sum(sal) over(partition by deptno) from emp; ---各个部门...
【Mysql】mysql开启审计功能
mysql audit-访问日志记录# at 300777#091124 16:54:00 server id 10 end_log_pos 301396 Query thread_id=5 exec_time=0 error_code=0SET TIMESTAMP=1259052840;drop table test.dummy;2.2 用户确认thread_id 确...
【Mysql】MySQL · 答疑解惑 · MySQL 优化器 range 的代价计算
本文我们从一个索引选择的问题出发,来研究一下 MySQL 中 range 代价的计算过程,进而分析这种计算过程中存在的问题。问题现象第一种情况:situation_unique_key_id:mysql> explain select * from cpa_order where settle_date='2015-11-05' and id > 15 \G;*************************** 1. row **...
【Mysql】MySQL · 特性分析 · Index Condition Pushdown (ICP)
原文地址:http://mysql.taobao.org/monthly/2015/12/08/前言上一篇文章 提过,我们在之后的文章中会从 optimizer 的选项出发,系统的介绍 optimizer 的各个变量,包括变量的原理、作用以及源码实现等,然后再进一步的介绍优化器的工作过程(SQL 语句扁平化处理、索引选择、代价计算、多表连接顺序选择以及...
【Mysql】Mariadb多主一从的搭建
背景: 目前MySQL依然只支持一个Slave从一个Master复制数据,虽然也可以做到一主多备(M->S),双主复制(MM)等架构,但是局限性依然很大。由于项目的要求,需要各个主库的表整合到一个地方进行统计和分析,要是每次连不同的实例操作,是一件非常耗体力的操作。所以继续一种类似多主一从的...
【Mysql】备份一个mysql my.cnf配置文件
记录一个my.cnf吧 以免不时之需[client]port = 3307socket = /home/data/mydata/3307/mysql.sock[mysqld]port = 3307socket = /home/data/mydata/3307/mysql.sockbasedir = /home/data/mysqldatadir = /home/data/mydata/3307pid-file = /home/data/mydata/3307/mysql.piduser = mysql#bind-addre...
【Linux】DNS基础知识
DNS 数据库的记录:正解,反解, Zone 的意义通过DNS解析过程详解这篇文章,我们知道了要想访问www.zmit.cn,最重要的就是 .zmit.cn这部DNS服务器内记录的信息了。这些记录的文件,我们可以称之为数据库,而在数据库里面针对每个要解析的领域(domain,如 .com, .cn, .org, .com.cn),就称为一个区域(zone)。...
【Mysql】一个最不可思议的MySQL死锁分析--何登成
文章很好转载用来当笔记原文地址:http://hedengcheng.com/?p=844 做MySQL代码的深入分析也有些年头了,再加上自己10年左右的数据库内核研发经验,自认为对于MySQL/InnoDB的加锁实现了如指掌,正因如此,前段时间,还专门写了一篇洋洋洒洒的文章,专门分析MySQL的加锁实现细节:《MySQL加锁处理分析》。...
【Mysql】MySQL加锁处理分析--何登成
看到了这篇介绍锁的文章感觉非常好,故转载过来原文地址:http://hedengcheng.com/?p=7711 背景 11.1 MVCC:Snapshot Read vs Current Read 21.2 Cluster Index:聚簇索引 ...
【Mysql】Anemometer-可视化慢sql查看
本文主要介绍使用Anemometer基于pt-query-digest将MySQL慢查询可视化,因为网上资料相对较少,且都是英文的,遇到报错也没有相关的参考资料,因此写此文。欢迎转载,请注明作者、出处。作者:张正blog:http://space.itpub.net/26355921 QQ:176036317如有疑问,欢迎联系...
【Mysql】捕获线上sql
1.基于TCPDUMP的捕获[root@bj150 ~]yum install –y tcpdump[root@bj150 ~]tcpdump -i eth0 -s 0 -l -w - dst port 3306 | strings-i:指定网卡-s:0不指定数据包长度,默认1024-w - 写入管道dst port 3306 抓取的端口 ...
【Linux】XFS文件系统
在CENTOS6上面,需要安装mysql数据库,为提高数据库的读写效率和性能,准备将mysql数据文件系统安装在XFS分区上。 XFS,一种高性能的日志文件系统,最早于1993年,由Silicon Graphics为他们的IRIX操作系统而开发,是IRIX 5.3版的默认文件系统。后来被移植到Linux 内核上。XFS 特别擅长处理大文件,同时提供平...
【Mysql】为MySQL增加线程内存监控 (MySQL Thread Memory Usage Monitor)
补丁,可以查看每个线程用到的内存!补丁放到源码包内patch p1<补丁打上补丁后的效果像这样:补丁: 5.6_thread_mem_usage_ver2.patch (5.0 KiB, 1,172 hits)(基于mysql-5.6.6) 5.5_thread_mem_usage.patch (5.2 KiB, 1,029 hits)(基于percona-5.5.22)原文地址:http://...
【Mysql】闪回--mysqlbinlog flashback 5.6版本
简介DBA或者开发人员,有时会误删除或者误更新数据。传统的数据库恢复方法是利用之前的备份再加上误操作之前的binlog,来恢复数据。该方法需要耗费较长时间来恢复备份,甚至需要停机维护,严重降低系统的可用性。MySQL的flashback功能是由淘宝的彭立勋,在MySQL-5.5.18的基础上开发的。随着binlog格式的变动和类...
【Mysql】OneProxy分库分表
环境准备 我们可以用真实的物理机器或云上的虚拟主机来做实验,充分体现自主的分库分表的乐趣,在这里我找了三台机器,具体信息如下所示:机器名IP地址配置Proxy1...
【Mysql】One-proxy简单搭建
1 下载2 安装3 简单读写分离[chenliang@hostnfsd oneproxy]$ more demo.sh #/bin/bash#export ONEPROXY_HOME=/usr/local/oneproxy# valgrind --leak-check=full \${ONEPROXY_HOME}/bin/oneproxy --keepalive \--proxy-addre...
【Mysql】笔记-生产易忘参数
SQL_SAFE_UPDATES在做数据库实验的时候对mysql表进行UPDATE操作时,mysql给了我一个错误:Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode原来mysql有个叫SQL_SAFE_UPDATES的变量。查了好久,全部中文结果都...
【Mysql】针对跑mysql的linux机器的优化经验
因为很多MySQL的生产环境都在Linux下,我决定指出一些Linux下跑MySQL的很重要的优化点。这些是大家都知道的,也没什么新东西,但我想在这一个blog里收集整理一下Linux相关的配置优化经验。文件系统ext4(or xfs) mount时使用notime选项文件系统调度策略: 使用deadline or noop# ...
【Linux】NUMA一点基础知识
NUMA,非统一内存访问(Non-uniform Memory Access),介于SMP(对称多处理)和MPP(大规模并行处理)之间,各个节点自有内存(甚至IO子系统),访问其它节点的内存则通过高速网络通道。NUMA信息主要通过BIOS中的ACPI(高级配置和编程接口)进行配置,Linux对NUMA系统的物理内存分布信息从系统firmware的ACPi表中获得,最重要的是SRAT(S...
【Mysql】改数据库库名操作
MySQL在5.1引入了一个rename database操作,但在MySQL5.1.23后又不支持这个命令。可以说是一个实验性的功能,没有在生产中支持过(mysql-5.1 release在mysql-5.1.30),那么生产中我们有时为了追求完美需要改一下库名。怎么操作呢?这里提供一个变通的方法。1. 创建出新库名:点击(此处)折叠或打开...