如何調(diào)整MySQL參數(shù)
調(diào)整innodb_buffer_pool_size
方法一:修改配置文件(永久生效)
打開MySQL配置文件my.cnf(Linux)或my.ini(Windows)
在[mysqld]部分添加或修改innodb_buffer_pool_size參數(shù),可設(shè)置具體值,單位為字節(jié),如innodb_buffer_pool_size=8589934592。
保存文件后,重啟MySQL服務(wù)使更改生效,命令為sudo systemctl restart mysql(Linux)或net stop mysql和net start mysql(Windows)。
方法二:動態(tài)修改(僅適用于MySQL 5.7及以上版本,重啟后失效)
- 使用SQL語句
SHOW VARIABLES LIKE ‘innodb_buffer_pool_size';
- 查看當前設(shè)置。
mysql> SHOW VARIABLES LIKE 'innodb_buffer_pool_size'; +-------------------------+-------------+ | Variable_name | Value | +-------------------------+-------------+ | innodb_buffer_pool_size | 12884901888 | +-------------------------+-------------+ 1 row in set (0.01 sec)
- 執(zhí)行
SET GLOBAL innodb_buffer_pool_size = 新值;
來修改,新值需是innodb_buffer_pool_chunk_size的整數(shù)倍。
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
如果出現(xiàn)上面的錯誤,需要授予SYSTEM_VARIABLES_ADMIN權(quán)限,可以看到授權(quán)后,可正常設(shè)置參數(shù)
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';
查看調(diào)整進度。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL參數(shù)優(yōu)化信息參考(my.cnf參數(shù)優(yōu)化)
下面針對一些參數(shù)進行說明,當然還有其它的設(shè)置可以起作用,取決于你的負載或硬件:在慢內(nèi)存和快磁盤、高并發(fā)和寫密集型負載情況下,你將需要特殊的調(diào)整2024-07-07
MySQL中ON DUPLICATE key update的使用
本文主要介紹了MySQL中ON DUPLICATE key update的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05

