如何调整MySQL参数
调整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中ON DUPLICATE key update的使用
本文主要介绍了MySQL中ON DUPLICATE key update的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-05-05


最新评论