Try*_*ing 5 mysql innodb mysql-5.5
我想增加innodb_log_file_size性能以获得更好的性能。我将它从默认值增加到 256 MB。像往常一样,我收到错误消息InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes。所以我将这些文件移动到不同的位置并重新启动了 MySQL 服务器。有效。在关闭 MySQL 之前,我还制作了服务器innodb_fast_shutdown = 0。
但是我有一个疑问,在 MySQL 关闭后,我们是否可以期望 mysql 处于一致状态,并且其中的所有数据ib_logfile0 and ib_logfile1都已写入数据文件。这样我就可以删除这些文件,或者我也应该做其他事情。
如果答案是 MySQL 将处于一致状态,那么为什么这些文件即使在正常关闭并以innodb_fast_shutdown = 0.
我遵循的步骤:
- 设置全局 innodb_fast_shutdown = 0
- /etc/init.d/mysqld 停止
- rm -f /var/lib/mysql/ib_logfile0
- rm -f /var/lib/mysql/ib_logfile1
- /etc/init.d/mysqld 启动
上面的步骤可以吗?如果是,那么干净关闭并启动后如何来日志文件包含一些数据。理想情况下它应该是空的。
您如何得出“即使在正常关闭后这些文件也包含一些数据”的结论?
即使它已经被完全刷新并清除了未提交的事务等,通过使用innodb_fast_shutdown = 0,“刷新”可能意味着就 MySQL 而言该文件是“空的”,但它实际上不会充满零。
如果你再次启动 MySQL,它可能会通过文件压缩到最新的日志序列号,并意识到没有更多的工作要做(熟悉处理 innodb 日志的源代码的人将能够确认/否认这一点) )。
你的步骤应该绝对没问题,但我会采纳Baron Schwartz 的建议,将 ib_logfiles 移动到某个地方而不是删除它们,以防万一服务器由于某种原因没有完全关闭。
| 归档时间: |
|
| 查看次数: |
15445 次 |
| 最近记录: |