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

标签:MySQL FAQ

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

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

MySQL SQL报错解决:You can’t specify target table ‘work’ for update in FROM clause

下面来对GROUP BY后面有多个字段进行测试。 一、环境搭建 CREATE TABLE `work` ( `id` int DEFAULT 0, `name` varchar(20) DEFAULT NULL, `address` varchar(20) DEFAULT NULL, `work` var……

MySQL SHOW PROCESSLIST协助故障诊断

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

MySQL InnoDB表空间传输的用途

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

MySQL 5.7默认SQL模式带来的问题总结

在使用MySQL 5.7版本时,已经碰到了两起因为SQL_MODE的改变而导致的问题了,究其原因都是因为MySQL 5.7控制的更加严格了,所以在MySQL 5.6或MySQL 5.5有些SQL语句就无法在MySQL 5.7执行了(会给开发带来一个很诡异的问题,就是代码一样、环境一样、SQL一样、测试跟正式怎么就报错呢?)。 说一下我碰到的两起事件: 某些……

MySQL如何定位未提交事务执行的SQL语句?

一、问题描述 我们经常会碰到这样的情况,某个事务执行完了未提交,后续再来一个DDL和DML操作,导致后面的session要么处于waiting for metadata lock,要么是锁等待超时。这时我们往往只能找到这个未提交的事务的事务id和session id,但是一般都处于sleep状态,不好分析事务内容到底是什么,所以通常都是粗鲁地kill这个se……

MySQL时区问题知晓

关于时区的概念,其实初中地理课已经涉及,很多人都多少了解一些,可能只是细节搞不太清楚。为什么会将地球分为不同时区呢?因为地球总是自西向东自转,东边总比西边先看到太阳,东边的时间也总比西边的早。东边时刻与西边时刻的差值不仅要以时计,而且还要以分和秒来计算。整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间……

MySQL内存使用分析(OOM分析)

一、MySQL如何使用内存? 首先,介绍MySQL使用内存的一些方法: 会话级别的内存消耗(连接私有内存):如 sort_buffer_size 等,每个会话都会开辟一个 sort_buffer_size 来进行排序操作。 全局的内存消耗(共享内存):例如 innodb_buffer_pool_size 等,全局共享的内存段。 MySQL内存计算器 全……

通过学习Linux内存分配策略,搞明白进程OOM机制

第一章:学习Linux内存分配策略 今天想提到的是线上一个4G的RDS实例,发生了OOM(out of memory)的问题,MySQL进程被直接Kill掉了。在解释这个问题的时候,我们首先需要从Linux系统内存分配策略讲起。 一般写C语言程序,我们习惯使用malloc动态的申请内存空间(Java由JVM负责内存管理),malloc函数会向操作系统申请一段……

找出MySQL服务器发生SWAP的原因?

首先,讲一下MySQL的内存消耗分为: 会话级别的内存消耗:如 sort_buffer_size 等,每个会话都会开辟一个 sort_buffer_size 来进行排序操作。 全局的内存消耗:例如 innodb_buffer_pool_size 等,全局共享的内存段。 关于会话级的内存消耗解释如下: read_buffer_size,sort_buffe……

MySQL为什么要关闭Query Cache?

当你的数据库打开了Query Cache(简称QC)功能后,数据库在执行SELECT语句时,会将其结果放到QC中,当下一次处理同样的SELECT请求时,数据库就会从QC取得结果,而不需要去数据表中查询。 在这个”Cache为王”的时代,我们总是通过不同的方式去缓存我们的结果从而提高响应效率,但一个缓存机制是否有效,效果如何,却是一……

MongoDB&MySQL关于NUMA架构CPU的相关问题

一、背景 MongoDB日志报警显示如下: WARNING: You are running on a NUMA machine. We suggest launching mongod like this to avoid performance problems: numactl --……