l innodb_commit_concurrency
含义:同一时刻,允许多少个线程同时提交InnoDB事务,默认值为0,范围0-1000。
0 — 允许任意数量的事务在同一时间点提交;
N>0 — 允许N个事务在同一时间点提交;
注意事项:
① mysqld提供服务时,不许把 innodb_commit_concurrency 的值从0改为非0,或非0的值改为0;
② mysqld提供时,允许把 innodb_commit_concurrency 的值N>0改为M,且M>0;
l innodb_concurrency_tickets
含义:
同一时刻,能访问InnoDB引擎数据的线程数,默认值为500,范围1-4294967295。
补充说明:当访问InnoDB引擎数据的线程数达到设置的上线,线程将会被放到队列中,等待其他线程释放ticket。
建议:
MySQL数据库服务最大线程连接数参数max_connections,一般情况下都会设置在128-1024的范围,再结合实际业务可能的最大事务并发度,innodb_concurrency_tickets保持默认值一般情况下足够。
l innodb_fast_shutdown and innodb_force_recovery
innodb_fast_shutdown:
含义:设置innodb引擎关闭的方式,默认值为:1,正常关闭的状态;
0 — mysqld服务关闭前,先进行数据完全的清理和插入缓冲区的合并操作,若是脏数据
较多或者服务器性能等因素,会导致此过程需要数分钟或者更长时间;
1 — 正常关闭mysqld服务,针对innodb引擎不做任何其他的操作;
2 — 若是mysqld出现崩溃,立即刷事务日志到磁盘上并且冷关闭mysqld服务;没有提交
的事务将会丢失,但是再启动mysqld服务的时候会进行事务回滚恢复;
innodb_force_recovery:
含义:
mysqld服务出现崩溃之后,InnoDB引擎进行回滚的模式,默认值为0,可设置的值0~6;
提示:
只有在需要从错误状态的数据库进行数据备份时,才建议设置innodb_force_recovery的值大于0。 若是把此参数作为安全选项,也可以把参数的值设置大于0,防止InnoDB引擎的数据变更,设置不同值的作用:
0 — 正常的关闭和启动,不会做任何强迫恢复操作;
1 — 跳过错误页,让mysqld服务继续运行。跳过错误索引记录和存储页,尝试用
SELECT * INOT OUTFILE ‘../filename’ FROM tablename;方式,完成数据备份;
2 — 阻止InnoDB的主线程运行。清理操作时出现mysqld服务崩溃,则会阻止数据恢复操作;
3 — 恢复的时候,不进行事务回滚;
4 — 阻止INSERT缓冲区的合并操作。不做合并操作,为防止出现mysqld服务崩溃。不计算
表的统计信息
5 — mysqld服务启动的时候不检查回滚日志:InnoDB引擎对待每个不确定的事务就像提交
的事务一样;
6 — 不做事务日志前滚恢复操作;
推荐的参数组合配置:
innodb_fast_shutdown = 1
#若是机房条件较好可设置为0(双路电源、UPS、RAID卡电池和供电系统稳定性)
innodb_force_recovery =0
#至于出问题的时候,设置为何值,要视出错的原因和程度,对数据后续做的操作
l innodb_additional_mem_pool_size
含义:开辟一片内存用于缓存InnoDB引擎的数据字典信息和内部数据结构(比如:自适应HASH索引结构);
默认值:build-in版本默认值为:1M;Plugin-innodb版本默认值为:8M;
提示:若是mysqld服务上的表对象数量较多,InnoDB引擎数据量很大,且innodb_buffer_pool_size的值设置 较大,则应该适当地调整innodb_additional_mem_pool_size的值。若是出现缓存区的内存不足,则会直接向操作系统申请内存分配,并且会向MySQL的error log文件写入警告信息;
l innodb_buffer_pool_size
含义:开辟一片内存用于缓存InnoDB引擎表的数据和索引;
默认值:历史默认值为:8M,现在版本默认值为:128M;
参数最大值:受限于CPU的架构,支持32位还是支持64位,另外还受限于操作系统为32位还是64位;
提示:
innodb_buffer_pool_size的值设置合适,会节约访问表对象中数据的物理IO。官方手册上建议专用的数据库服务器,可考虑设置为物理内存总量的80%,但是个人建议要看物理服务器的物理内存总量,以及考虑: 是否只使用InnoDB引擎、mysqld内部管理占用的内存、最大线程连接数和临时表等因素,官方提供的80%值作为一个参考,举而个例子方便大家作决定(前提:物理服务器为mysqld服务专用,且只用InnoDB引擎,假设数据量远大于物理内存):
1).内存配置:24G 则 innodb_buffer_pool_size=18G
1).内存配置:32G 则 innodb_buffer_pool_size=24G
出现下列哪些情况,则可以考虑减小innodb_buffer_pool_size的值:
1).出现物理内存的竞争,可能导致操作系统的分页;
2).InnoDB预分配额外的内存给缓冲区和结构管理,当分配的总内存量超过innodb_buffer_pool_size值的10%;
3).地址空间要求必须为连续的,在windows系统有一个严重问题,DLL需要加载在特定的地址空间;
4).初始化缓冲区的时间消耗,与缓冲区的大小成正比。官方提供的数据 Linux X86 64位系统 初始化 innodb_buffer_pool_size=10G 大概需要6秒钟;
分享到:
相关推荐
MySQL数据库服务器端的核心参数是影响其性能和稳定性的关键因素,正确配置这些参数可以显著提升数据库的运行效率。以下是对一些重要参数的详细解释和推荐配置: 1. `lower_case_table_names`: 这个参数决定了...
【标题】:“jsp博客论坛个人主页系统mysql数据库”是一个基于JSP技术开发的,结合MySQL数据库构建的在线博客和论坛平台。这样的系统通常用于提供个人主页功能,让用户能够创建自己的空间,发表文章,进行讨论交流。...
`Easyui`与`SSH框架`(Struts2、Spring、Hibernate)的整合是实现这一目标的常见方法,尤其在处理Mysql数据库时,这种组合能提供强大的前端展示和后端业务逻辑支持。 `Easyui`是一个基于jQuery的轻量级前端UI库,它...
《JSP图书管理系统结合MYSQL数据库实现详解》 在信息技术领域,图书管理系统的开发是一项常见的实践项目,它旨在高效地组织、存储和检索图书信息。本系统采用Java Server Pages(JSP)作为前端展示技术,结合MySQL...
在Unix/Linux系统中,MySQL数据库的使用通常包括服务器端(mysql-server)和客户端(mysql)。安装时需要安装相应的软件包,如mysql-server和mysql-client,以及用于开发的接口库(mysql-devel)。安装这些包后,...
本教程将深入探讨“前台PHP+后台MYSQL数据库开发”的关键知识点,旨在帮助你掌握这两种技术的基础和进阶应用。 首先,让我们从PHP开始。PHP(Hypertext Preprocessor)是一种广泛使用的开源服务器端脚本语言,特别...
### MySQL数据库管理知识点详解 #### 一、MySQL服务器和服务器启动脚本 ##### 5.1.1 服务器端脚本和实用工具概述 MySQL服务器是数据库的核心组件,它负责处理来自客户端的所有请求,并管理存储的数据。服务器端...
### MySQL数据库从安装到使用教程 #### MySQL简介与特性 MySQL是一种广泛使用的开源关系型数据库管理系统,由瑞典MySQL AB公司最初开发。历经多次并购后,目前由甲骨文(Oracle)公司拥有。作为一款高性能、跨平台...
### MySQL数据库开发教程知识点解析 #### 一、MySQL简介与特点 MySQL 是一款非常流行的开源关系型数据库管理系统,由瑞典的 MySQL AB 公司开发,后来成为 Oracle 的一部分。它支持 SQL(Structured Query Language...
在IT行业中,网络通信是构建...客户端和服务器端的通信需要考虑到网络延迟、数据安全和性能优化等多个方面。通过这样的实践,开发者能够更好地理解和掌握网络通信的核心技术,并能应用于各种分布式系统和应用的开发中。
配置过程与MySQL类似,但可能需要设置额外的URL参数来指定数据库版本和实例。 4. **Access**:Access是Microsoft Office套件中的轻量级数据库,主要用于个人或小型团队的数据管理。由于Access的JDBC驱动并不常见,...
总的来说,这个PHP电子相册系统集成了Web开发的多种核心技术,包括服务器端脚本、数据库操作、文件处理、前端交互以及安全控制,是一个综合性的项目实例,对于学习和实践PHP Web开发非常有价值。
MySQL采用客户端/服务器模式,由客户端程序连接到服务器端进行数据操作。其主要组件包括:MySQL服务器进程、存储引擎、SQL解析器、查询优化器、缓存系统等。理解这些组件的工作原理对于提升数据库性能至关重要。 二...
【PHP和Apache.Mysql配置详解】 PHP是一种广泛应用于Web开发的服务器端脚本语言,它是一种解释型的、面向对象的、健壮的、安全的、高性能的、独立于架构的、可移植的动态脚本语言。PHP起源于Personal HomePage,由...
MySQL由服务器端(包括存储引擎、SQL解析器、查询优化器等)和客户端工具(如命令行客户端、MySQL Workbench等)组成。配置包通常包含了这些组件,以及必要的配置文件和库文件。 安装MySQL配置包时,首先要确保你的...
Installshield 12 提供了一套强大的工具,使得开发者能够轻松地配置服务器端服务,如IIS、SQL Server以及组件服务。本教程主要聚焦于Installshield 12的数据库配置支持,帮助用户理解和掌握如何利用该工具进行数据库...
2. **MySQL数据库** MySQL是用于存储和管理数据的关系型数据库管理系统(RDBMS)。在这个系统中,它负责存储用户留言、时间戳、用户名等信息。数据库结构通常包括一个或多个表,如“guestbook”表,包含字段如id...