更新时间:2023-08-28
对于 MySQL 5.7,管理 InnoDB 缓冲池的方式当前存在错误。MySQL 5.7 可能将 innodb_buffer_pool_size 参数的值调整为较大的值,这会导致 InnoDB 缓冲池增长得过大并占用过多 内存。此效果会导致 MySQL 数据库引擎停止运行或阻止 MySQL 数据库引擎启动。可用内存较少的数据库 实例类更易出现此问题。
要解决此问题,请将 innodb_buffer_pool_size 参数的值设置为 innodb_buffer_pool_instances 参数值和 innodb_buffer_pool_chunk_size 参数值的积的倍数。例如,您可以将 innodb_buffer_pool_size 参数值设置为 innodb_buffer_pool_instances 参数值和 innodb_buffer_pool_chunk_size 参数值的积的 8 倍,如以下示例所示。
innodb_buffer_pool_chunk_size = 536870912 innodb_buffer_pool_instances = 4
innodb_buffer_pool_size = (536870912 * 4) * 8 = 17179869184
有关此 MySQL 5.7 错误的详细信息,请转至 MySQL 文档中的 https://bugs.mysql.com/bug.php?id=79379。