谁能告诉我什么是innodb_buffer_pool_size&innodb_log_file_size?增加它的尺寸后会发生什么......
Mar*_*rkR 15
innodb_buffer_pool_size是用于缓存表,索引和其他一些内容的内存量.这是主要的可调参数,你会因为性能原因而将其设置得相当高 - 有很多资源可以讨论这个问题.
innodb_log_file_size是提交日志文件的大小(通常有两个),这确实会影响性能但不会影响性能.阅读文档以获取更多信息.
innodb_log_file_size不应设置为与当前文件大小不同的值,否则服务器将无法启动.这意味着如果您想要更改它,您应该干净地关闭服务器,删除现有日志,它将创建新日志.
另一方面,如果数据库没有完全关闭,则不应删除日志,因为它需要它们进行恢复.
只需在现有答案中添加更多详细信息,
innodb_buffer_pool_size是 MySQL 的总缓存大小。每当有读请求时,MySQL服务器都会以BufferPages的
形式将数据缓存在RAM中。当写入一行恰好已经加载到内存(RAM)中时,MySQL 会更新内存中的行并将页面(现在是脏的)转移到BufferPool的另一个成员。
另一个组件称为PageCleaner,在后台运行并释放内存并将数据写入磁盘。
innodb_log_file_size是日志文件的大小(以字节为单位)。MySQL存在多个日志文件来写入数据。这个特定的系统变量告诉此类日志文件之一的文件大小。这些日志文件是恢复和日志复制所必需的,即确保如果主节点死亡,从节点仍具有所需的数据。LinkedListLinkedList