快速预热Buffer_Pool缓冲池

在之前的版本里,如果一台高负荷的机器重启后,内存中大量的热数据被清空,此时就会重新从磁盘加载到Buffer_Pool缓冲池里,这样当高峰期间,性能就会变得很差,连接数就会很高。

在MySQL5.6里,一个新特性避免的这种问题的出现。

你只需在my.cnf里,加入如下:

innodb_buffer_pool_dump_at_shutdown = 1

解释:在关闭时把热数据dump到本地磁盘。

innodb_buffer_pool_dump_now = 1

解释:采用手工方式把热数据dump到本地磁盘。

innodb_buffer_pool_load_at_startup = 1

解释:在启动时把热数据加载到内存。

innodb_buffer_pool_load_now = 1

解释:采用手工方式把热数据加载到内存。

在关闭MySQL时,会把内存中的热数据保存在磁盘里ib_buffer_pool文件中,位于数据目录下。

查看日志,你会发现:

在启动后,会自动加载热数据到Buffer_Pool缓冲池里。

查看日志,你会发现:

这样,始终保持热数据在内存中。

注:只有在正常关闭MySQL服务,或者pkill mysql时,会把热数据dump到内存。机器宕机或者pkill -9 mysql,是不会dump。

时间: 2024-10-18 00:08:00

快速预热Buffer_Pool缓冲池的相关文章

mysql预热缓冲池

在数据库压力很大的情况下,重启完数据库,通过手工执行下列语句,把热数据加载到innodb_buffer_pool缓冲池中进行预热,从而避免早高峰连接数升高,程序报错.    select  count(*) from user; select  count(*) from ***; ...... 在mysql5.6里为了解决上述问题,提供了一个新特性来快速预热buffer_pool缓冲池,只需在my.cnf中加入如下命令:    参数 注释 innodb_buffer_pool_dump_at_

MySQL配置文件参数详解

[client] port = 3307 socket = /usr/local/mysql5_6/mysql.sock default-character-set=utf8 [mysql] prompt = mysql(\\[email protected]\h-\R:\\m:\\s [\\d])> #提示当前数据库操作用户名.库名.时间等 default-character-set=utf8 [mysqld] basedir = /usr/local/mysql5_6 datadir = /

Mysql 性能优化 ( my.cnf )

简介: Mysql 参数优化 一.Mysql 源码编译参数 shell > yum -y install gcc gcc-c++ make cmake ncurses-devel zlib-devel bison shell > cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DTMPDIR=/usr/local/mysql/data -DMYSQL_UNIX_ADDR=/

mysql5.5 5.6 5.7新特性

1,5.5默认存储引擎为innodb 2,5.5增加cpu多核处理能力:innodb_read_io_threads innodb_write_io_threads 3,5.5改善磁盘IO 提高脏页刷新增也数量和合并插入数量:innodb_io_capacity 增加自适应刷新脏页功能:innodb_adaptive_flushing (innodb刷新脏页的规则是在如下三种情况下才会把innodb_buffer_pool的脏页输入磁盘: 1,当超过innodb_max_dirty_pages_

Mysql5.6 buffer_pool预热功能

通常在mysql重启服务后,需要通过手工执行SQL来预热buffer_pool,在mysql5.6中,有如下参数可以无需人工干预. innodb_buffer_pool_dump_at_shutdown= 1:在关闭时把热数据dump到本地磁盘 innodb_buffer_pool_dump_now = 1:采用手工方式把热数据dump到本地磁盘 innodb_buffer_pool_load_at_startup=1:启动时把热数据加载到内存 innodb_buffer_pool_load_n

CentOS 6.9上安装Mysql 5.7.18 安装

下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz 1.新建mysql用户,组: [[email protected] ~]# groupadd mysql [[email protected] ~]# useradd -g mysql -r -s /sbin/nologin -M -d /data/mysqldata mysql 2.新建数据目录及授权: [[e

mysql5.7配置文件优化

[mysqld] pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock datadir = /var/lib/mysql #log-error = /var/log/mysql/error.log # By default we only accept connections from localhost #bind-address = 127.0.0.1 # Disabling symbolic-l

《高性能MySQL》读书笔记--优化服务器设置

MySQL有大量可以修改的参数--但不应该随便去修改.通常只需要把基本的项配置正确(大部分情况下只有很少一些参数是真正重要的),应该将更多的时间花在schema的优化.索引,以及查询设计上.在正确地配置了MySQL的基本配置项之后,再花力气去修改其它配置项的收益通常就比较小了. 1.创建MySQL配置文件 建议不要使用操作系统的安装包自带的配置文件,最好从头开始创建一个配置文件.(首先要确定MySQL使用了哪个配置文件!) 2.InnoDB缓冲池(Buffer Pool) 有一个流行的经验法则说

NetEase/InnoSQL(网易的InnoSQL的补丁文件)

NetEase/InnoSQL(网易的InnoSQL的补丁文件) InnoSQL参考手册下载地址: http://files.cnblogs.com/SQLSERVERZOUQI/InnoSQL%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C.pdf https://github.com/NetEase/InnoSQL PUBLICNetEase/InnoSQLforked from bluethinking/InnoSQL Code Pull Requests0 Wik