随笔分类 - MYSQL
摘要:原文出处: shlomi-noach 译文出处:oschina GitHub 使用 MySQL 作为所有非 git 仓库数据的主要存储, 它的可用性对 GitHub 的访问操作至关重要。GitHub 站点本身、GitHub 的 API、身份验证等等都需要进行数据库访问。我们运行着多个 MySQL 集
阅读全文
摘要:本文转载自:Draveness,略有修改 原文链接:『浅入浅出』MySQL 和 InnoDB · 面向信仰编程 作为一名开发人员,在日常的工作中会难以避免地接触到数据库,无论是基于文件的 sqlite 还是工程上使用非常广泛的 MySQL、PostgreSQL,但是一直以来也没有对数据库有一个非常清
阅读全文
摘要:目前,在很多OLTP场景中,MySQL数据库都有着广泛的应用,也有很多不同的使用方式。从数据库的业务需求、架构设计、运营维护、再到扩容迁移,不同的MySQL架构有不同的特点,适应一定的业务场景,或者解决一定的业务问题。 DBA作为数据库架构的设计、实施、维护人员,不仅要对各种MySQL架构非常熟悉,
阅读全文
摘要:一、Index Condition Pushdown(ICP) Index Condition Pushdown (ICP)是mysql使用索引从表中检索行数据的一种优化方式,从mysql5.6开始支持,mysql5.6之前,存储引擎会通过遍历索引定位基表中的行,然后返回给Server层,再去为这些
阅读全文
摘要:最近在数据库优化的时候,看到一些表在设计上使用了text或者blob的字段,单表的存储空间已经达到了近100G,这种情况再去改变和优化就非常难了 一、简介 为了清楚大字段对性能的影响,我们必须要知道innodb存储引擎的处理方式: 1、一些知识点 1.1 在InnoDB 1.0.x版本之前,Inno
阅读全文
摘要:一直断断续续的看一些mysql特性,今天总结一下,以下是列表,网址 http://mariadb.org/ (也是类似的特性), http://mysql.com/ 最近在看关于mysql新特性的一些书 一. server参数默认值设置的变化 http://dev.mysql.com/doc/ref
阅读全文
摘要:这里使用的是mysql Ver 14.14 Distrib 5.6.19, for Linux (i686) using EditLine wrapper一、mysql目录文件ibdata1:系统表空间 包含数据字典、回滚日志/undolog等(insert buffer segment/doubl...
阅读全文
摘要:Tpcc-mysql是percona基于tpcc衍生出来专用于mysql基准测试的产品 ,可以参见 《高性能MySQL第三版》一、安装rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpmyum...
阅读全文
摘要:一、简介思考一下这个场景:如果重做日志可以无限地增大,同时缓冲池也足够大,那么是不需要将缓冲池中页的新版本刷新回磁盘。因为当发生宕机时,完全可以通过重做日志来恢复整个数据库系统中的数据到宕机发生的时刻。但是这需要两个前提条件:1、缓冲池可以缓存数据库中所有的数据;2、重做日志可以无限增大因此Chec...
阅读全文
摘要:一、几条mysql命令通过以下命令看一下mysql中 innodb_file_format的配置mysql> show engines;+--------------------+---------+--------------------------------------------------...
阅读全文
摘要:1、mysqladmin使用mysqladmin extended-status命令可以获得所有MySQL性能指标,即show global status的输出,不过,因为多数这些指标都是累计值,如果想了解当前的状态,则需要进行一次差值计算,这就是mysqladmin extended-status...
阅读全文
摘要:1、简介涉及无线相关的 MySQL 数据库建议都提前采用 utf8mb4 字符集,避免 emoji 表情符号带来的问题MySQL Server > 5.5.32、配置+升级当前配置mysql> \s--------------mysql Ver 14.14 Distrib 5.1.73, for ...
阅读全文
摘要:一、MVCC简介MVCC (Multiversion Concurrency Control),即多版本并发控制技术,它使得大部分支持行锁的事务引擎,不再单纯的使用行锁来进行数据库的并发控制,取而代之的是把数据库的行锁与行的多个版本结合起来,只需要很小的开销,就可以实现非锁定读,从而大大提高数据库系...
阅读全文
摘要:一、CPU最大性能模式cpu利用特点5.1 最高可用4个核5.5 最高可用24核5.6 最高可用64核心一次query对应一个逻辑CPU你仔细检查的话,有些服务器上会有的一个有趣的现象:你cat /proc/cpuinfo时,会发现CPU的频率竟然跟它标称的频率不一样:#cat /proc/cpui...
阅读全文
摘要:一、复制的常用拓扑结构复制的体系结构有以下一些基本原则:(1) 每个slave只能有一个master;(2) 每个slave只能有一个唯一的服务器ID;(3) 每个master可以有很多slave;(4) 如果你设置log_slave_updates,slave可以是其它slave的master,从...
阅读全文
摘要:一、MySQL存在的问题优化器对复杂SQL支持不好对SQL标准支持不好大规模集群方案不成熟,主要指中间件ID生成器,全局自增ID异步逻辑复制,数据安全性问题Online DDLHA方案不完善备份和恢复方案还是比较复杂,需要依赖外部组件展现给用户信息过少,排查问题困难众多分支,让人难以选择二、数据库环...
阅读全文
摘要:sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试。数据库目前支持MySQL/Oracle/PostgreSQL/Drizzle,它主要包括以下几种方式的测试:cpu性能磁盘io性能调度程序性能内存分配及传输速度POSIX线程性能数据库性能(OL...
阅读全文
摘要:一、乐观锁介绍乐观锁( Optimistic Locking ) 相对悲观锁而言,乐观锁假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检,乐观锁适用于多读的应用类型,这样可以提高吞吐量,像数据库如果提供类似于write_condition机制的其实都是...
阅读全文
摘要:关于mysql中的锁在并发环境下,有可能会出现脏读(Dirty Read)、不可重复读(Unrepeatable Read)、 幻读(Phantom Read)、更新丢失(Lost update)等情况,所以mysql引入了很多锁的概念MySQL InnoDB对数据行的锁定类型一共有四种:共享锁(读...
阅读全文
摘要:一、锁的种类MySQL中锁的种类很多,有常见的表锁和行锁,也有新加入的Metadata Lock等等,表锁是对一整张表加锁,虽然可分为读锁和写锁,但毕竟是锁住整张表,会导致并发能力下降,一般是做ddl处理时使用。行锁则是锁住数据行,这种加锁方法比较复杂,但是由于只锁住有限的数据,对于其它数据不加限制...
阅读全文