• 14.6.2 Configuring InnoDB for Read-Only Operation


    14.6.2 Configuring InnoDB for Read-Only Operation 
    
    配置InnoDB只读操作 
    
    
    你可以查询InnoDB 表MySQL 数据目录是一个只读介质,通过启用 --innodb-read-only 配置选项在服务启动前
    
    
    mysql> show variables like '%innodb-read-only%';
    Empty set (0.00 sec)
    
    mysql> show variables like '%innodb_read_only%';
    +------------------+-------+
    | Variable_name    | Value |
    +------------------+-------+
    | innodb_read_only | OFF   |
    +------------------+-------+
    1 row in set (0.00 sec)
    
    如何启用:
    
    为了准备一个实例用于只读操作,确保所有的需要的信息是刷新到数据文件在存储到只读介质上,
    
    
    让整个MySQL 实例启用只读模式, 指定下面的培训选项在启动时:
    
    --innodb-read-only=1
    
    
    如果实例是在只读介质上的比如DVD或者CD,或者 /var目录根本不可写, --pid-file= 在可写设备上
    
    
    Usage Scenarios
    
    这个操作的模式是使用这些情况比如:
    
    1. 分配一个MySQL 应用,或者MySQL数据集,在一个只读介质 比如DVD或者CD
    
    2.多个MySQL 实例同时查询相同的数据目录,典型的在一个数据仓库配置。
    
    你可能使用这个技术来避免瓶颈 当一个负载沉重的MySQL实例,
    
    或者你可能使用不同的配置选项 对于各个实例来调整特定的查询
    
    
    3.查询数据已经放放入到一个只读状态 对于安全或者数据的完整性的原因,比如归档的数据备份
    
    它是如何工作的:
    
    当服务器是运行在只读模式通过 --innodb-read-only选项, 某些InnoDB 功能和组件是被关闭或者完全关闭的
    
    
    1,没有 change buffering,特别是没有合并从change buffer.
    
    2. 没有crash recovery 节点在启动时, 实例必须执行一个缓慢的关闭在进入只读模式前
    
    3.因为redo log 在只读操作是不使用的,你可以设置innodb_log_file_size 到最小值
    
    4.除了I/O thread 线程外所有的后台进程都会被关闭,作为一个结果,只能实例不会遇到任何死锁
    
    5.信息关于死锁,监控输出,不写到临时文件,作为一个结果, SHOW ENGINE INNODB STATUS 不产生任何输出
    
    
    6.MVCC 处理是强制隔离级别被关闭。所有的查询读取最新的记录的版本,因为Update和delete 是不允许的

  • 相关阅读:
    Fizz Buzz 问题
    旋转字符串
    合并排序数组
    尾部的零
    A + B 问题
    CentOS6.x安装RabbitMQ
    MySql游标
    MySql存储过程
    找出n个自然数(1,2,3,……,n)中取r个数的组合
    正则表达式
  • 原文地址:https://www.cnblogs.com/zhaoyangjian724/p/6199030.html
Copyright © 2020-2023  润新知