NoteDeep
运行server时,关闭更改缓存。innodb_change_buffering=0
在开启mysql时,指定如下配置

  • 如果/var目录无法被写入,则需配置 --pid-file=path_on_writeable_media--event-scheduler=disabled

使用方案

  • 把mysql data或mysql 应用放到只读存储设备上。比如DVD or CD。
  • 许多MySQL instances 同时查询同一个data 目录,一般在data 仓储配置里。你也许可以使用这个方法,来避免重负荷下的mysql 实例出现性能瓶颈。或者你可以为不同的实例使用不同的配置,为每一种特殊类型的查询做调整。

How It Works


当server以只读模式运行的时候,即开启--innodb-read-only 选项,某些InnoDb功能和组件会减少或者完全关闭。
  • 不再有更改缓存,更改缓冲区不再发生合并。
  • 开启的阶段不会有崩溃恢复。在进入只读状态之前,实例必须执行slow shutdown。
  • 因为重做日志用不到了,innodb_log_file_size 可以被设置为1MB。
  • 除I / O读取线程之外的所有后台线程都被关闭。因此,只读实例不会遇到任何死锁。
  • 有关死锁,监视器输出等的信息不会写入临时文件。因此,SHOW ENGINE INNODB STATUS不会产生任何输出。
  • 如果MySQL服务器以--innodb-read-only启动,但数据目录仍在可写介质上,则root用户仍然可以执行DCL操作,如GRANT和REVOKE。
  • 当服务器处于只读模式时,改变写入操作行为的配置会不起作用。
  • 关闭执行隔离级别的MVCC处理。
  • 撤消日志不被使用。禁用innodb_undo_tablespaces和innodb_undo_directory配置选项的任何设置。

评论列表

    使用方案
    How It Works