• 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!
HugePage是否是拯救性能的万能良药?

HugePage是否是拯救性能的万能良药?

一、准备知识 在阅读本文之前,需要读者至少了解以下基础知识 CPU Cache的基本概念,具体可参见 关于CPU Cache – 程序猿需要知道的那些事。 NUMA的基本概念,具体可参见 NUMA架构的CPU — 你真的用好了么?。 目前Linux基于多核CPU繁忙程度的线程调度机制,参看Chip Multi Processing aware ……

MySQL备份脚本

MySQL备份脚本

针对单主机多实例的MySQL完整备份脚本,根据自己的情况,自行修改即可。 #!/bin/bash # # backup user USERNAME= PASSWORD= SOCKET= # create variables today=`date +'%Y-%m-%d-%H'` sevenday=`dat……

MySQL审核工具Inception推荐

MySQL审核工具Inception推荐

一、Inception简介【已闭源】 Inception是集审核、执行、回滚于一体的一个自动化运维系统,它是根据MySQL代码修改过来的,用它可以很明确的,详细的,准确的审核MySQL的SQL语句,它的工作模式和MySQL完全相同,可以直接使用MySQL客户端来连接,但不需要验证权限,它相对应用程序(上层审核流程系统等)而言,是一个服务器,在连接时需要指定服……

MySQL SHOW PROCESSLIST协助故障诊断

MySQL SHOW PROCESSLIST协助故障诊断

一、SHOW PROCESSLIST命令 SHOW PROCESSLIST显示正在运行(用户运行线程)的线程(或SHOW FULL PROCESSLIST显示更多信息)。您还可以从INFORMATION_SCHEMA PROCESSLIST表或mysqladmin processlist命令获取此信息。如果你有这个PROCESS特权,你可以看到所有的线程。否……

MySQL覆盖索引学习

MySQL覆盖索引学习

覆盖索引 通常大家会根据查询的where条件来创建合适的索引,不过这只是索引优化的一个方面。设计优秀的索引应该考虑到整个查询,而不单单是where条件部分。索引确实是一种查找数据的高效方式,但是MySQL也可以使用索引来直接获取列的数据,这样就不再需要读取数据行。如果索引的叶子节点中已经包含要查询的数据,那么还有必要再回表查询呢?如果一个索引包含,或者说覆盖……

MySQL分区增删改查操作

MySQL分区增删改查操作

###添加删除range分区 (1) 创建一个分区 CREATE TABLE titles ( emp_no INT NOT NULL, title VARCHAR(50) NOT NULL, from_date DATE NOT NULL, to_date DATE, KEY (emp_no), PRIMARY K……

MySQL 5.7内部临时表使用

MySQL 5.7内部临时表使用

一、MySQL中的两种临时表 外部临时表 通过CREATE TEMPORARY TABLE 创建的临时表,这种临时表称为外部临时表。这种临时表只对当前用户可见,当前会话结束的时候,该临时表会自动关闭。这种临时表的命名与非临时表可以同名(同名后非临时表将对当前会话不可见,直到临时表被删除)。 内部临时表 内部临时表是一种特殊轻量级的临时表,用来进行性能……

MySQL备份恢复:单线程mysqldump工具原理

MySQL备份恢复:单线程mysqldump工具原理

一、mysqldump工作原理 对于搞数据库的应该都知道,mysqldump是MySQL官方提供的用于逻辑备份的工具。 mysqldump优点:mysqldump的优点就是逻辑备份,把数据生成sql形式保存,在单库,单表数据迁移,备份恢复等场景方便,sql形式的备份文件通用,也方便在不同数据库之间移植。对于innodb表可以在线备份。 mysqldump缺……

MySQL InnoDB表空间传输的用途

MySQL InnoDB表空间传输的用途

在 MySQL 中如果要迁移一个表导另外一个服务器/环境中,常规的做法就是使用备份工具备份,比如 mysqldump/mysqlpump/mydumper,然后拷贝备份到目标服务器或者环境导入。如果某一个表数据量很大,导出 dump 文件很大的情况下,使用导出导入工具其实会花费不少的时间。 怎么样提高效率呢,可以有一种想法就是直接拷贝数据文件到目标环境,当然……

MySQL InnoDB checkpoint

MySQL InnoDB checkpoint

一、Checkpoint简介 我们知道缓冲池的设计目的为了协调CPU速度与磁盘速度的鸿沟。因此页的操作首先都是在缓冲池中完成的,如果一条DML语句,如Update或Delete改变了页中记录,那么此时页是脏的,即缓冲池中的页的版本要比磁盘的新。数据库需要将新版本的页从缓冲池刷新到磁盘。 若每次一个页发生变化,就将新页的版本刷新到磁盘,那么这个开销是非常大的。……

MySQL文档存储快速入门指南

MySQL文档存储快速入门指南

一、MySQL文档存储说明 关系数据库(如MySQL)通常存储结构化数据,需要提前定义好数据的格式。而NoSQL的出现就是为了打破这种僵局,使得开发人员可以存储非结构化数据,使用文档的方式进行存储数据,无需提前定义数据格式。早先MariaDB也有对非结构化的数据进行存储的方案,称为dynamic column,但是方案是通过BLOB类型的方式来存储。这样导致……

数据库设计范式与反范式

数据库设计范式与反范式

数据库规范化,又称数据库或资料库的正规化、标准化,是数据库设计中的一系列原理和技术,以减少数据库中数据冗余,增进数据的一致性。关系模型的发明者埃德加·科德最早提出这一概念,并于1970年代初定义了第一范式、第二范式和第三范式的概念,还与Raymond F. Boyce于1974年共同定义了第三范式的改进范式——BC范式。 除外还包括针对多值依赖的第四范式,连……