如何设置全局innodb_buffer_pool_size?

时间:2013-10-23 06:16:14

标签: mysql

如何设置全局innodb_buffer_pool_size mySQL变量?当我将其设置为system display时,我收到此错误:

ERROR 1238 (HY000): Variable 'innodb_buffer_pool_size' is a read only variable

4 个答案:

答案 0 :(得分:8)

innodb_buffer_pool_size

您应该在[mysqld]部分下将此变量值设置为:

innodb_buffer_pool_size=2G

并重启MySQL服务才能生效。

InnoDB缓冲池缓存数据和索引页面。您可以将此值设置为Innodb-only安装的可用内存的70-80%

答案 1 :(得分:0)

看这里innodb_buffer_pool_size documentation

在那里它表示这个变量可以在选项文件(my.cnf)中设置,也可以在启动服务器时在命令行中设置。

另外。我不认为您能够将“系统显示”的值分配给此变量,因为它是一个数字。参见文档。

答案 2 :(得分:0)

我遇到了同样的问题:

  

ERROR 1238(HY000):变量'innodb_buffer_pool_size'是一个只读变量

然后我注意到我在顶部错误地写了[mysqly],这就是my.cnf无法正常工作的原因。我将其更改为[mysqld]并重启MySQL,然后一切正常。

答案 3 :(得分:0)

您可以在mysql命令行/ mysql工作台上执行类似的操作

SET GLOBAL innodb_buffer_pool_size= (SELECT @@innodb_buffer_pool_size)*10
#check via this:
#SELECT @@innodb_buffer_pool_size/1024/1024/1024