binlog_cache_size | 5M | 是 MySQL 用来提高binlog的记录效率而设计的一个用于短时间内临时缓存binlog数据的内存区域,默认才32K |
concurrent_insert | 2 | MyISAM引擎的数据表可由concurrent_insert 参数来控制是否可以insert语句的并发或insert与select语句的并发。 |
connect_timeout | 30 | The number of seconds that the mysqld server waits for a connect packet before responding with Bad handshake. |
innodb_additional_mem_pool_size | 20M | 这个参数用来设置 InnoDB 存储的数据目录信息和其它内部数据结构的内存池大小。应用程序里的表越多,你需要在这里分配越多的内存。对于一个相对稳定的应用,这个参数的大小也是相对 稳定的,也没有必要预留非常大的值。如果 InnoDB 用光了这个池内的内存, InnoDB 开始从操作系统分配内存,并且往 MySQL 错误日志写警告信息。默认值是 1MB ,当发现错误日志中已经有相关的警告信息时,就应该适当的增加该参数的大小。 |
innodb_autoextend_increment | | 当自动扩展表空间被填满之时,每次扩展空间的大小,默认值是8(单位MB)。 |
innodb_buffer_pool_size | 32g | innodb_buffer_pool_size 定义了 InnoDB 存储引擎的表数据和索引数据的最大内存缓冲区大小。和 MyISAM 存储引擎不同, MyISAM 的 key_buffer_size 只能缓存索引键,而 innodb_buffer_pool_size 却可以缓存数据块和索引键。适当的增加这个参数的大小,可以有效的减少 InnoDB 类型的表的磁盘 I/O 。在一个以 InnoDB 为主的专用数据库服务器上,可以考虑把该参数设置为物理内存大小的 60%-80% 。 |
innodb_change_buffering | inserts | 在5.5之前。这还不叫change buffer,而是insert buffer;当更新/插入的非聚集索引的数据所对应的页不在内存中时(对非聚集索引的更新操作通常会带来随机IO),会将其放到一个insert buffer中,当随后页面被读到内存中时,会将这些变化的记录merge到页中。当服务器比较空闲时,后台线程也会做merge操作但insert buffer会占用buffer pool,并且在非聚集索引很少时,并不总是必要的,反而会降低buffer pool做data cache的能力,5.5提供了参数innodb_change_buffering来对其进行控制根据官方文档的描述,主要包括以下几个值:1.allThe default value: buffer inserts, delete-marking operations, and purges.2.noneDo not buffer any operations.3.insertsBuffer insert operations.4.deletesBuffer delete-marking operations.(包括delete和update操作)5.changesBuffer both inserts and delete-marking.6.purges |
innodb_fast_checksum | 1 | innodb_fast_checksum = 1:开启Fast checksum特性 |
innodb_file_per_table | 1 | 可以修改InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间。独立表空间:优点:1. 每个表都有自已独立的表空间。2. 每个表的数据和索引都会存在自已的表空间中。3. 可以实现单表在不同的数据库中移动。4. 空间可以回收(除drop table操作处,表空不能自已回收)innodb_flush_log_at_trx_commit 2 抱怨Innodb比MyISAM慢 100倍?那么你大概是忘了调整这个值。默认值1的意思是每一次事务提交或事务外的指令都需要把日志写入(flush)硬盘,这是很费时的。特别是使用电 池供电缓存(Battery backed up cache)时。设成2对于很多运用,特别是从MyISAM表转过来的是可以的,它的意思是不写入硬盘而是写入系统缓存。日志仍然会每秒flush到硬 盘,所以你一般不会丢失超过1-2秒的更新。设成0会更快一点,但安全方面比较差,即使MySQL挂了也可能会丢失事务的数据。而值2只会在整个操作系统 挂了时才可能丢数据。 |
innodb_flush_method | O_DIRECT | innodb_flush_method则确定日志及数据文件如何write、flush。 |
innodb_io_capacity | 1000 | 在合并插入缓冲时,合并插入缓冲的数量为innodb_io_capacity数值的5%。在从缓冲区刷新脏页时,刷新脏页的数量为innodb_io_capacity。 |
innodb_lock_wait_timeout | 50 | MySQL可以自动地监测行锁导致的死锁并进行相应的处理,但是对于表锁导致的死锁不能自动的监测,所以该参数主要被用于在出现类似情况的时候等待指定的时间后回滚。系统默认值是50秒,用户可以根据应用的需要进行调整。 |
innodb_log_buffer_size | 10M | 这是 InnoDB 存储引擎的事务日志所使用的缓冲区。类似于 Binlog Buffer,InnoDB 在写事务日志的时候,为了提高性能,也是先将信息写入 Innofb Log Buffer 中,当满足 innodb_flush_log_trx_commit 参数所设置的相应条件(或者日志缓冲区写满)之后,才会将日志写到文件(或者同步到磁盘)中。可以通过 innodb_log_buffer_size 参数设置其可以使用的最大内存空间。注:innodb_flush_log_trx_commit 参数对 InnoDB Log 的写入性能有非常关键的影响。该参数可以设置为0,1,2,解释如下:0:log buffer中的数据将以每秒一次的频率写入到log file中,且同时会进行文件系统到磁盘的同步操作,但是每个事务的commit并不会触发任何log buffer 到log file的刷新或者文件系统到磁盘的刷新操作;1:在每次事务提交的时候将log buffer 中的数据都会写入到log file,同时也会触发文件系统到磁盘的同步;2:事务提交会触发log buffer 到log file的刷新,但并不会触发磁盘文件系统到磁盘的同步。此外,每秒会有一次文件系统到磁盘同步操作。 |
innodb_log_files_in_group | 4 | The number of log files in the log group. InnoDB writes to the files in a circular fashion. The default (and recommended) value is 2. |
innodb_log_file_size | 1000M | Innodb 引擎 log 文件大小, 在 IO <<< +- >>>恢复时间 做权衡. |
innodb_max_dirty_pages_pct | 50 | This is an integer in the range from 0 to 99. The default value is 75. The main thread in InnoDB tries to write pages from the buffer pool so that the percentage of dirty (not yet written) pages will not exceed this value. |
innodb_open_files | 65535 | 作用:限制Innodb能打开的表的数据。分配原则:如果库里的表特别多的情况,请增加这个。这个值默认是300。请适当的增加table_cache |
innodb_read_io_threads | 4 | innodb_read_io_threads/innodb_write_io_threads1、异步IO线程数innodb_read_io_threads/innodb_write_io_threads 异步IO线程数 |
innodb_rollback_on_timeout | OFF | 事务会回滚到上一个保存点,InnoDB在执行每条SQL语句之前,都会创建一个保存点. 但事务尚未提交 |
innodb_stats_on_metadata | 0 | 0为关闭索引统计.默认是开启,可能对线上环境有影响. |
innodb_thread_concurrency | 16 | 这个是innodb内核的并发线程处理参数 |
innodb_write_io_threads | 16 | innodb_read_io_threads/innodb_write_io_threads 异步IO线程数, 有文章说 4/4 就ok了. |
join_buffer_size | 4M | 在参加JOIN操作的数据列没有索引时为JOIN操作分配的缓存区长度(默认设置是128K) |
key_buffer | 8M | 疑似: key_buffer_size , 网上并没有找到 key_buffer 资料. |
key_buffer_size | | 索引缓存的大小,默认值是16M |
max_allowed_packet | 24M | 当MySQL客户端或mysqld服务器收到大于max_allowed_packet字节的信息包时,将发出“信息包过大”错误,并关闭连接。服务器默认max-allowed-packet为1MB |
max_binlog_size | 500M | 二进制日志文件的最大长度(默认设置是1GB) |
max_connections | 3100 | 修改最大连接数 |
max_connect_errors | 1500 | max_connect_errors是一个MySQL中与安全有关的计数器值,它负责阻止过多尝试失败的客户端以防止暴力破解密码的情况。max_connect_errors的值与性能并无太大关系。 |
max_user_connections | 3000 | 这个用户的最大连接数 |
myisam_sort_buffer_size | 20M | 设置恢复表之时使用的缓冲区的尺寸 |
query_cache_size | | 查询结果缓存, 会影响'写'的性能. |
query_cache_type | 0 | 关闭 Query Cache 功能,任何情况下都不会使用 Query Cache |
read_buffer | | 疑似 read_buffer_size |
read_buffer_size | 4M | 为从数据表顺序读取数据的读操作保留的缓存区的长度(默认设置是128KB); |
read_rnd_buffer_size | 5M | 类似于read_buffer_size选项,但针对的是按某种特定顺序(比如使用了ORDER BY子句的查询)输出的查询结果(默认设置是256K)。 |
sort_buffer_size | 4M | Sort_Buffer_Size 是一个connection级参数,在每个connection第一次需要使用这个buffer的时候,一次性分配设置的内存。 |
sync_binlog | 1000 | sync_binlog=n,当每进行n次事务提交之后,MySQL将进行一次fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘。 |
table_cache | 2048 | 表缓存:在mysql默认安装情况下,table_cache的值在2G内存以下的机器中的值默认时256到512,如果机器有4G内存,则默认这个值是2048,但这决意味着机器内存越大,这个值应该越大,因为table_cache加大后,使得mysql对SQL响应的速度更快了,不可避免的会产生更多的死锁(dead lock) |
table_definition_cache | 2048 | 缓存的表的数量:在MySQL5.1.25 之前的版本中,默认值为128,从MySQL5.1.25 版本开始,则将默认值调整为256 |
table_open_cache | | 增加table_open_cache,会增加文件描述符,当把table_open_cache设置为很大时,如果系统处理不了那么多文件描述符,那么就会出现客户端失效,连接不上 |
thread_cache_size | 256 | Thread_Cache 中存放的最大连接线程数. 目测 256 比较大 |
相关推荐
以下是一份详细的MySQL优化笔记,涵盖了多个方面: 一、查询优化 1. 使用索引:为经常用于搜索的列创建索引可以显著加快查询速度。B树和哈希索引是最常见的类型,适用于不同的查询场景。 2. 避免全表扫描:尽量使用...
mysql慢可能是配置不对,阅读一下这个可能对你有帮助 ...对于Discuz!... 下面我们了解一下MySQL优化的一些基础,MySQL的优化我分为两个部分,一是服务器物理硬件的优化,二是MySQL自身(my.cnf)的优化。
以下将详细介绍MySQL优化的各个方面,并结合提供的文件名进行推测,尽管没有实际内容,但我们可以根据文件名来讨论可能涉及的主题。 1. **索引优化**:`mysql_rel.sql`可能包含SQL脚本,其中创建表结构和数据的关系...
在进行MySQL优化时,我们需要对数据库进行深入分析,以便找到性能瓶颈并进行相应的调整。优化可以分为三个主要部分:优化概述、查询与索引优化分析以及配置优化。 首先,在优化概述部分,了解MySQL数据库常见瓶颈是...
在"MySQL优化.rar"这个压缩包中,我们很显然会接触到关于MySQL数据库优化的详细内容,这包括但不限于查询优化、索引优化、存储引擎选择、架构设计等多个方面。 首先,查询优化是MySQL性能提升的关键步骤。通过对SQL...
为什么要开发这个MySQL 优化工具(Why) “一键优化”功能,可以优化本地/远程需要优化的机器,将繁琐的优化工作“傻瓜”式操作 根据您的业务需求Step By Step优化的MySQL服务器参数,起到指引的作用,简化用户...
以下是一些深入浅出的MySQL优化策略: 1. 选择合适的字段属性: 在设计数据库表时,应尽可能减小字段宽度,以减少存储空间和查询时间。例如,邮政编码字段只需设定为CHAR(6)即可,无需使用VARCHAR或更大的类型。...
MySQL优化是数据库管理中至关重要的环节,它涉及到提升查询性能、降低资源消耗,从而提高整个系统的响应速度和服务质量。MySQL自带的慢查询日志(slow query log)是进行优化的重要工具之一,它记录了执行时间超过预设...
MySQL 优化方法主要涵盖...总之,MySQL优化涉及多个层面,包括合理选择存储引擎、优化字段类型、建立合适索引以及编写高效的SQL语句。每个环节都对数据库性能有着直接影响,需要根据实际业务需求进行综合考虑和调整。
### MySQL优化知识点详解 #### 一、MySQL简介 MySQL是一款由MySQL AB公司开发的开源数据库管理系统,后来该公司被Sun Microsystems收购。MySQL因其简单、高效、可靠的特点,在IT行业中迅速崭露头角,成为最受欢迎...
21. MYSQL扩展/优化-提供更快的速度 22. MYSQL何时使用索引 23. MYSQL何时不使用索引 24. 学会使用EXPLAIN 25. 学会使用SHOW PROCESSLIST 26. 如何知晓MYSQL解决一条查询 27. MYSQL非常不错 28. MYSQL应避免...
我的mysql优化日记 我的mysql优化日记 我的mysql优化日记 我的mysql优化日记
MySQL优化是数据库管理中至关重要的一个环节,它旨在提高数据查询效率、降低系统资源消耗,以确保服务的稳定性和响应速度。"MySQL优化大揭秘"这个压缩包中的"SQL.pdf"很可能包含了关于如何优化MySQL数据库的详细教程...
mysql优化从以下几个方面介绍 mysql的架构 索引优化分析 查询截取分析 mysql锁机制 主从复制
MySQL优化是数据库管理中的关键环节,它涉及到性能提升、资源利用率优化以及系统稳定性的保障。这份"Mysql优化 PPT"可能会涵盖多个方面的内容,包括但不限于查询优化、索引策略、存储引擎选择、数据库架构设计、资源...
教程名称:大型门户网站核心技术-Mysql优化 课程目录:【】Mysql优化 资料【】Mysql优化01关键技术【】Mysql优化02表的设计【】Mysql优化03慢查询(一)【】Mysql优化04慢查询(二)【】Mysql优化05慢查询(三)【】Mysql...
总结来说,企业级MySQL优化是一个综合性的任务,涵盖安装配置、引擎选择、算法理解、集群构建和日常维护等多个环节。通过深入理解MySQL的工作机制和优化技巧,可以有效地提升数据库性能,保障企业的业务运行。