mysql 内存缓冲池innodb_buffer_pool_sizes大小调整

InnoDB_buffer_pool_size是MySQL中InnoDB引擎的重要参数,影响读取、查询和并发性能。它定义了缓冲池大小,能提高读取速度,减少磁盘访问,但需考虑内存和工作负载。可通过SQL临时修改或my.cnf配置永久生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

innodb_buffer_pool_sizes的作用是什么

innodb_buffer_pool_size 是 MySQL 中 InnoDB 存储引擎的一个重要参数,它定义了 InnoDB 缓冲池的大小。缓冲池是一个内存区域,用于缓存数据库中的数据和索引,以加快数据库的读取操作。

以下是 innodb_buffer_pool_size 的作用:

  1. 提高读取性能:将常用的数据和索引加载到内存缓冲池中,可以减少磁盘 I/O 操作,从而提高读取性能。因为内存的读取速度远远快于磁盘的读取速度。

  2. 减少磁盘访问:通过增大缓冲池的大小,可以将更多的数据和索引存放在内存中,减少对磁盘的访问次数,从而降低磁盘 I/O 的负载。

  3. 提高查询性能:由于数据和索引在缓冲池中的存在,查询操作可以更快速地在内存中完成,而不需要频繁地读取磁盘上的数据。

  4. 改善并发性能:缓冲池的存在可以减少对磁盘的并发访问,提高并发读取的性能,从而改善数据库的并发处理能力。

需要注意的是,设置合适的 innodb_buffer_pool_size 大小需要考虑到服务器的可用内存和数据库的工作负载。如果设置过小,可能导致频繁的磁盘 I/O,降低性能;如果设置过大,可能会占用过多的内存资源,导致其他应用程序受影响。因此,需要根据实际情况进行调整和优化。

通过sql修改,重启后会失效

修改缓冲池大小为4G

SET GLOBAL innodb_buffer_pool_size = 4294967296;

查询修改是否生效

use mysql;
select @@innodb_buffer_pool_size;

出现下图表示修改成功,
在这里插入图片描述
或者进入mysql的容器查看实时日志也会展示修改mysql的innodb_buffer_pool_size信息
在这里插入图片描述

通过my.cnf配置修改,永久生效

进入mysql容器,vi /etc/my.cnf,把下面的innodb_buffer_pool_size =128M改为想要修改的配置即可,支持字节,M,G的格式,
如2G,536870912(字节),512M(M)
在这里插入图片描述
修改后要重启mysql容器生效。

### 回答1: 以下是 MySQL 5.7.31 的 my.ini 配置文件示例: ``` # MySQL Server Instance Configuration File # The following options will be passed to all MySQL clients [client] port=3306 default-character-set=utf8mb4 # The MySQL server [mysqld] port=3306 datadir=C:/ProgramData/MySQL/MySQL Server 5.7/Data character-set-server=utf8mb4 collation-server=utf8mb4_general_ci sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES # The minimum and maximum allowed packet sizes max_allowed_packet=16M net_buffer_length=8K # Query Cache Configuration query_cache_type=1 query_cache_size=64M # Logging and Replication log-output=FILE general-log=0 general_log_file="MYSQL-SERVER.log" slow-query-log=1 slow_query_log_file="MYSQL-SERVER-slow.log" # InnoDB Specific options innodb_buffer_pool_size=256M innodb_log_file_size=64M innodb_flush_log_at_trx_commit=2 innodb_thread_concurrency=8 ``` 请注意,具体的 my.ini 配置文件可能会因操作系统、MySQL 版本等因素而有所不同,因此请根据您的具体情况进行相应的修改。 ### 回答2: MySQL 5.7.31的my.ini配置文件是用于配置MySQL数据库服务器的主要配置文件。它包含了一系列的参数和选项,用于控制MySQL的各种行为和功能。 在my.ini配置文件中,可以设置多个不同的部分,每个部分用方括号括起来,比如[mysql]、[mysqld]等。每个部分包含了一组用于配置各自部分的参数。以下是一些常见的my.ini配置参数和选项: 1. datadir:指定数据文件存放的目录路径。 2. port:指定MySQL服务器监听的端口号。 3. character-set-server:指定MySQL服务器的默认字符集。 4. max_connections:指定允许的最大客户端连接数。 5. key_buffer_size:指定用于索引缓存的内存大小。 6. innodb_buffer_pool_size:指定InnoDB存储引擎的缓冲池大小。 7. log-error:指定错误日志文件的路径和名称。 8. slow_query_log:指定是否启用慢查询日志功能。 9. query_cache_type:指定查询缓存的类型。 10. tmp_table_size:指定临时表的大小。 在修改my.ini配置文件时,需要重启MySQL服务才能使修改生效。可以使用文本编辑器打开my.ini文件进行修改,并保存后重新启动MySQL服务。 需要注意的是,在对my.ini文件进行修改时,要谨慎操作,因为一些参数的不正确设置可能会导致MySQL服务器无法启动或者出现其他不可预测的问题。所以,在修改my.ini配置文件时,建议先备份原始配置文件,以便出现问题时可以恢复。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值