如何调整MySQL参数

 更新时间:2025年09月04日 10:33:25   作者:angushine  
调整InnoDB缓冲池大小有两种方法:1. 修改配置文件my.cnf/my.ini并重启MySQL,永久生效;2. 动态调整(需MySQL 5.7+),通过SQL语句设置,重启失效,注意Chunk_size倍数及权限

调整innodb_buffer_pool_size

方法一:修改配置文件(永久生效)

打开MySQL配置文件my.cnf(Linux)或my.ini(Windows)

在[mysqld]部分添加或修改innodb_buffer_pool_size参数,可设置具体值,单位为字节,如innodb_buffer_pool_size=8589934592。

保存文件后,重启MySQL服务使更改生效,命令为sudo systemctl restart mysql(Linux)或net stop mysql和net start mysql(Windows)。

方法二:动态修改(仅适用于MySQL 5.7及以上版本,重启后失效)

  • 使用SQL语句
SHOW VARIABLES LIKE ‘innodb_buffer_pool_size';
  • 查看当前设置。
mysql> SHOW VARIABLES LIKE 'innodb_buffer_pool_size';
+-------------------------+-------------+
| Variable_name           | Value       |
+-------------------------+-------------+
| innodb_buffer_pool_size | 12884901888 |
+-------------------------+-------------+
1 row in set (0.01 sec)
  • 执行
SET GLOBAL innodb_buffer_pool_size = 新值;

来修改,新值需是innodb_buffer_pool_chunk_size的整数倍。

mysql> SET GLOBAL innodb_buffer_pool_size=8589934592;
ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER or SYSTEM_VARIABLES_ADMIN privilege(s) for this operation

如果出现上面的错误,需要授予SYSTEM_VARIABLES_ADMIN权限,可以看到授权后,可正常设置参数

mysql> GRANT SYSTEM_VARIABLES_ADMIN ON *.* TO 'root'@'%';
Query OK, 0 rows affected (0.01 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> SET GLOBAL innodb_buffer_pool_size=8589934592;
Query OK, 0 rows affected (0.00 sec)

可通过

SHOW VARIABLES LIKE ‘innodb_buffer_pool_resize_status';

查看调整进度。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 简单了解mysql方言dialect

    简单了解mysql方言dialect

    这篇文章主要介绍了简单了解数据库方言dialect,数据库方言也是如此,MySQL 是一种方言,Oracle 也是一种方言,MSSQL 也是一种方言,他们之间在遵循 SQL 规范的前提下,都有各自的扩展特性,需要的朋友可以参考下
    2019-07-07
  • SQL高级查询与预处理语句解析以及实战练习题

    SQL高级查询与预处理语句解析以及实战练习题

    预处理语句是数据库优化技术中的一项重要功能,它允许数据库服务器预先解析SQL语句并生成执行计划,然后在后续执行中只需传递参数即可重复使用,这篇文章主要介绍了SQL高级查询与预处理语句解析以及实战练习题的相关资料,需要的朋友可以参考下
    2025-10-10
  • MySQL基本查询方式(表的增删查改)

    MySQL基本查询方式(表的增删查改)

    文章系统讲解了SQL操作中的插入、查询、更新、删除及聚合函数,涵盖全列/按列插入、条件筛选、排序分页、GROUP BY与HAVING的使用,并强调MySQL中关键字执行顺序及"一切皆表"的逻辑概念
    2025-08-08
  • mysql空间函数计算坐标距离方式

    mysql空间函数计算坐标距离方式

    文章介绍了如何使用MySQL的空间函数`st_distance`和`st_distance_sphere`计算两点之间的距离,并对比了两种方法的准确性,`st_distance`函数计算的是两点间的度数,需要乘以111195转换为米,但因每度长度不一致会有误差
    2025-02-02
  • 数据库设计工具MySQL Workbench使用教程(超级详细!)

    数据库设计工具MySQL Workbench使用教程(超级详细!)

    MySQL Workbench为数据库管理员、程序开发者和系统规划师提供可视化的Sql开发、数据库建模、以及数据库管理功能,下面这篇文章主要给大家介绍了关于MySQL设计工具Workbench使用的相关资料,需要的朋友可以参考下
    2023-02-02
  • MySQL创建数据表并建立主外键关系详解

    MySQL创建数据表并建立主外键关系详解

    这篇文章主要介绍了MySQL创建数据表并建立主外键关系详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-06-06
  • SQL JOIN 子句合并多个表中相关行全面指南

    SQL JOIN 子句合并多个表中相关行全面指南

    这篇文章主要为大家介绍了SQL JOIN 子句合并多个表中相关行全面指南,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Windows下简单的Mysql备份BAT脚本分享

    Windows下简单的Mysql备份BAT脚本分享

    朋友说在windows下面用bat命令备份失败,他一时找不到问题所在,于是找我帮忙查看下。查找后解决了该问题,想着总结下来,所以这篇文章主要跟大家分享了一个在Windows下简单的Mysql备份BAT脚本,需要的朋友可以参考下。
    2017-03-03
  • Windows下mysql-5.7.28下载、安装、配置教程图文详解

    Windows下mysql-5.7.28下载、安装、配置教程图文详解

    这篇文章主要介绍了Windows下mysql-5.7.28下载、安装、配置教程,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • Mysql设置主键自动增长起始值的方案总结

    Mysql设置主键自动增长起始值的方案总结

    在MySQL 中,当主键定义为自增长后,这个主键的值就不再需要用户输入数据了,而由数据库系统根据定义自动赋值,下面这篇文章主要给大家介绍了关于Mysql设置主键自动增长起始值的相关资料,需要的朋友可以参考下
    2022-09-09

最新评论