如何在google云sql中设置innodb_buffer_pool_size在mysql?
How to set innodb_buffer_pool_size in mysql in google cloud sql?
我无法从 edit
中的 https://console.cloud.google.com 设置 innodb_buffer_pool_size
。就是没有这个参数。
我也无法将 innodb_buffer_pool_size
设置为 sql:
mysql> SET GLOBAL innodb_buffer_pool_size=2147483648;
ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER privilege(s) for this operation
目前不可能 - 我们总是将 innodb_buffer_pool_size
设置为机器 RAM 的 75%。
在您的情况下,您似乎需要更多内存用于某些每个连接缓冲区,而 innodb_buffer_pool_size
中需要更少内存。我们有关于如何自动检测此类情况并减少 innodb_buffer_pool_size
的想法,但还没有付诸实践。
您现在的实际解决方法是增加实例大小:随着内存的增加,您将有更多的时间来处理每个事务的缓冲区。另一个可能不太实用的解决方法是通过减少并发查询 运行(尝试使用连接数有限的连接池)或简化它们(减少 JOIN 等)来减少数据库负载。
我无法从 edit
中的 https://console.cloud.google.com 设置 innodb_buffer_pool_size
。就是没有这个参数。
我也无法将 innodb_buffer_pool_size
设置为 sql:
mysql> SET GLOBAL innodb_buffer_pool_size=2147483648;
ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER privilege(s) for this operation
目前不可能 - 我们总是将 innodb_buffer_pool_size
设置为机器 RAM 的 75%。
在您的情况下,您似乎需要更多内存用于某些每个连接缓冲区,而 innodb_buffer_pool_size
中需要更少内存。我们有关于如何自动检测此类情况并减少 innodb_buffer_pool_size
的想法,但还没有付诸实践。
您现在的实际解决方法是增加实例大小:随着内存的增加,您将有更多的时间来处理每个事务的缓冲区。另一个可能不太实用的解决方法是通过减少并发查询 运行(尝试使用连接数有限的连接池)或简化它们(减少 JOIN 等)来减少数据库负载。