标签:MySQL闲聊
为什么推荐InnoDB引擎使用自增主键?
在使用 InnoDB 存储引擎时,如果没有特别的需要,请永远使用一个与业务无关的自增字段作为主键,除非高并发写入操作可能需要衡量自增主键或有业务安全性要求,后面会讲。 经常看到有帖子或博客讨论主键选择问题,有人建议使用业务无关的自增主键,有人觉得没有必要,完全可以使用如学号或身份证号这种唯一字段作为主键。不论支持哪种论点,大多数论据都是业务层面的。如果从数据……
MySQL数据归档的几种操作方法介绍
使用MySQL的过程,经常会遇到一个问题,比如说某张”log”表,用于保存某种记录,随着时间的不断的累积数据,但是只有最新的一段时间的数据是有用的;这个时候会遇到性能和容量的瓶颈,需要将表中的历史数据进行归档。下面来说说几种常见的数据归档方式。 一、使用分区,再利用分区交换技术能够很好地把指定分区中的数据移动到指定表中,这个需要在项目……
MySQL读写IO的操作过程解析
数据库作为存储系统,所有业务访问数据的操作都会转化为底层数据库系统的IO行为(缓存系统也可以当做是key-value的数据库),本文主要介绍访问MySQL数据库的IO流程以及IO相关的参数。 一、MySQL的文件 首先简单介绍一下MySQL的数据文件,MySQL 数据库包含如下几种文件类型: 1)数据文件 (datafile) 存放表中的具体数据的文件。 2……
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)。 统一命名规范,默认全小写,禁用关键字和合理使用前缀。 严禁在数据库中明文存储……
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安装就可以满足要求了: ……