• 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!

标签:MySQL闲聊

为什么推荐InnoDB引擎使用自增主键?

在使用 InnoDB 存储引擎时,如果没有特别的需要,请永远使用一个与业务无关的自增字段作为主键,除非高并发写入操作可能需要衡量自增主键或有业务安全性要求,后面会讲。 经常看到有帖子或博客讨论主键选择问题,有人建议使用业务无关的自增主键,有人觉得没有必要,完全可以使用如学号或身份证号这种唯一字段作为主键。不论支持哪种论点,大多数论据都是业务层面的。如果从数据……

MySQL开发规范

一、DBA操作规范 1、涉及业务上的修改/删除数据,在得到业务方、CTO的邮件批准后方可执行,执行前提前做好备份,必要时可逆。 2、所有上线需求必须走工单系统,口头通知视为无效。 3、在对大表做DDL操作时,业务低峰时操作。MySQL 5.6版本之前使用pt-osc工具,5.6版本开始支持online DDL操作。 4、所有线上业务库均必须搭建MHA高可用架……

MySQL数据归档的几种操作方法介绍

使用MySQL的过程,经常会遇到一个问题,比如说某张”log”表,用于保存某种记录,随着时间的不断的累积数据,但是只有最新的一段时间的数据是有用的;这个时候会遇到性能和容量的瓶颈,需要将表中的历史数据进行归档。下面来说说几种常见的数据归档方式。 一、使用分区,再利用分区交换技术能够很好地把指定分区中的数据移动到指定表中,这个需要在项目……

MySQL读写IO的操作过程解析

数据库作为存储系统,所有业务访问数据的操作都会转化为底层数据库系统的IO行为(缓存系统也可以当做是key-value的数据库),本文主要介绍访问MySQL数据库的IO流程以及IO相关的参数。 一、MySQL的文件 首先简单介绍一下MySQL的数据文件,MySQL 数据库包含如下几种文件类型: 1)数据文件 (datafile) 存放表中的具体数据的文件。 2……

深度解读原子写

为大家介绍一下所谓的原子写,Atomic Write。 一、从文件系统删除文件说起 文件删除操作过程比较复杂,如果简化的来讲,可以分为两步: 1. 删除该文件在文件记录表中的条目。 2. 将该文件之前所占据的空间对应的块在空间追踪bitmap中将对应的bit置0。 假设该文件的文件名非常短,尺寸也非常小,只有不到4KB,那么,上述这两个动作,就可以分别只对应……

Raft和Paxos在分布式存储系统中的应用差异

作者简介:简怀兵 数据库技术爱好者,在分布式存储领域有一定经验。 最新在看Group Replication(简称GR)的代码,从Codeship的Galera到MariaDB Galera Cluster/Percona XtrDB Cluster的多主集群技术,再到如今的GR; 分布式存储系统,尤其是分布式的RDBMS必然是未来的趋势。其中最本质和最难的……

MySQL开发规范-持续更新

一、基础规范 统一使用utf8mb4字符集和utf8mb4_general_ci字符排序规则,utf8mb4字符集是utf8的超集,而且还支持emoji字符。 表存储引擎使用InnoDB存储引擎,默认就是。 隔离级别使用READ-COMMITTED(binlog格式使用ROW)。 统一命名规范,默认全小写,禁用关键字和合理使用前缀。 严禁在数据库中明文存储……

数据库巡检指南

数据库作为一个大型的并发存储系统,其内部设计极其复杂,开发者在使用数据库时,面临着可用性、可靠性、性能、安全、扩展性等多重挑战,这就使得数据库的使用具有较高的技术门槛。一般大型团队都会雇佣专职的DBA来维护数据库的日常运行,指导开发者建立正确的使用姿势,但是对于一般的中小型团队,受限于人力成本,这种模式难以实现。随着DevOps理念的流行,开发者开始更多的参……

MySQL批量创建多库多表示例

由于业务需要对MySQL数据库进行分库分表操作,大概需要建立10个库,每个库根据日期建立一年的表,格式如下: 库:meta_file_1-10 表:meta_file_20170101-20171231 还好库和表名称是规律的,并且表结构相同,所以可以使用脚本处理。 CREATE TABLE mate_file_1( ……

MySQL最优配置模板( 5.6&5.7)

MySQL 5.6&5.7配置文件(姜总提供) [mysql] default-character-set=utf8mb4 user = root password = 123456 port = 3306 socket = /tmp/mysqld.sock prompt="\u@\h \d>" ……

为什么需要修改MySQL参数ft_min_word_len?

为什么要修改MySQL的ft_min_word_len? 从MySQL 4.0开始就支持全文索引功能,但是 MySQL 默认的最小索引长度是 4,如下: mysql> show variables like 'ft_min_word_len'; +-----------------+-------+ | Variabl……

Zabbix 3使用percona-zabbix-templates监控MySQL

因为Zabbix自带的MySQL监控没有提供可以直接使用的Key,所以一般不采用,业界的同学们都使用Percona Monitoring Plugins 监控MySQL的方式。 1)MySQL客户端需要的系统环境 percona监控zabbix的脚本是使用php写的,所以需要准备好php运行环境,这里直接用yum安装就可以满足要求了: ……