当前位置: 首页 > news >正文

做自己的游戏网站校园网站建设经费申请报告

做自己的游戏网站,校园网站建设经费申请报告,网站集约化建设什么意思,最新经济新闻及其评论目录一、bin log1.作用2.刷盘时机3.日志格式二、redo log1.为什么需要redo log2.基本概念3.作用3.刷盘时机三、undo log1.作用四、Mysql的时机顺序五、redo log 与 binlog 的两阶段提交六、总结一、bin log 1.作用 MySQL的bin log日志是用来记录MySQL中增删改时的记录日志。 … 目录一、bin log1.作用2.刷盘时机3.日志格式二、redo log1.为什么需要redo log2.基本概念3.作用3.刷盘时机三、undo log1.作用四、Mysql的时机顺序五、redo log 与 binlog 的两阶段提交六、总结一、bin log 1.作用 MySQL的bin log日志是用来记录MySQL中增删改时的记录日志。 当你的一条sql操作对数据库中的内容进行了更新就会增加一条bin log日志。查询操作不会记录到bin log中。 bin log最大的用处就是进行主从复制以及数据库的恢复。 主从复制在Master端开启binlog然后将binlog发送到各个Slave端Slave端重放binlog从而达到主从数据一致。 数据恢复通过使用mysqlbinlog工具来恢复数据。 2.刷盘时机 对于InnoDB存储引擎而言只有在事务提交时才会记录biglog此时记录还在内存中那么biglog是什么时候刷到磁盘中的呢mysql通过sync_binlog参数控制biglog的刷盘时机取值范围是0-N 1、sync_binlog0 的时候表示每次提交事务binlog不会马上写入到磁盘而是先写到page cache,相对于磁盘写入来说写page cache要快得多,不过在Mysql 崩溃的时候会有丢失日志的风险。 2、sync_binlog1 的时候表示每次提交事务都会执行 fsync 写入到磁盘 3、sync_binlog的值大于1 的时候表示每次提交事务都 先写到page cach只有等到积累了N个事务之后才fsync 写入到磁盘同样在此设置下Mysql 崩溃的时候会有丢失N个事务日志的风险。 很显然三种模式下sync_binlog1 是强一致的选择选择0或者N的情况下在极端情况下就会有丢失日志的风险具体选择什么模式还是得看系统对于一致性的要求。 3.日志格式 logbin格式 binlog_formatSTATEMENT默认数据操作的时间同步时不一致 每一条会修改数据的sql语句会记录到binlog中。优点是并不需要记录每一 条sql语句和每一行的 数据变化减少了binlog日志量节约IO提高性能。缺点是在某些情况下会导致 master-slave 中的数据不一致( 如sleep()函数 last_insert_id()以及user-defined functions(udf)等会 出 现 问题)binlog_formatROW批量数据操作时效率低 不记录每条sql语句的上下文信息仅需记录哪条数据被修改了修改成什么样 了。而且不会出 现某些特定情况下的存储过程、或function、或trigger的调用和触发无法被正确复制的 问题。缺 点是会产生大量的日志尤其是alter table的时候会让日志暴涨。binlog_formatMIXED是以上两种level的混合使用有函数用ROW没函数用STATEMENT但是无法识别系统变量 二、redo log 1.为什么需要redo log 事务的四大特性里面有一个是持久性具体来说就是只要事务提交成功那么对数据库做的修改就被永久保存下来了不可能因为任何原因再回到原来的状态。那么mysql是如何保证持久性的呢最简单的做法是在每次事务提交的时候将该事务涉及修改的数据页全部刷新到磁盘中 2.基本概念 redo log包括两部分一个是内存中的日志缓冲(redo log buffer)另一个是磁盘上的日志文件(redo log file)。mysql每执行一条DML语句先将记录写入redo log buffer后续某个时间点再一次性将多个操作记录写到redo log file。这种先写日志再写磁盘的技术就是MySQL里经常说到的WAL(Write-Ahead Logging)预写日志 技术。 3.作用 redo log是一种基于磁盘的数据结构用来在MySQL宕机情况下将不完整的事务执行数据纠正redo日志记录事务执行后的状态。 当事务开始后redo log就开始产生并且随着事务的执行不断写入redo log file中。redo log file中记录了xxx页做了xx修改的信息我们都知道数据库的更新操作会在内存中先执行最后刷入磁盘。 redo log就是为了恢复更新了内存但是由于宕机等原因没有刷入磁盘中的那部分数据。 3.刷盘时机 mysql支持三种将redo log buffer写入redo log file的时机可以通过innodb_flush_log_at_trx_commit参数配置各参数值含义如下 参数值含义取值0每秒一秒钟内提交的事务写入磁盘 每秒触发一次缓存日志回写磁盘操作并调用操作系统fsync刷新IO缓存。取值1有事务提交就立即刷盘 每次提交事务都立即调用操作系统fsync刷新IO缓存。取值2每次事务提交 都写给操作系统 由系统接管什么时候写入磁盘 每次都把redo log写到系统的page cache中由系统接管什么时候写入磁盘 innodb_flush_log_at_trx_commit 1实时写实时刷 这种策略会在每次事务提交之前每次都会将数据从redo log刷到磁盘中去理论上只要磁盘不出问题数据就不会丢失。 innodb_flush_log_at_trx_commit 0延迟写延迟刷 每秒一秒钟内提交的事务写入磁盘 每秒触发一次缓存日志回写磁盘操作并调用操作系统fsync刷新IO缓存。当系统崩溃会丢失1秒钟的数据。 innodb_flush_log_at_trx_commit 2实时写延迟刷 这种策略在事务提交之前会把redo log写到os cache中但并不会实时地将redo log刷到磁盘而是会每秒执行一次刷新磁盘操作。 这种情况下如果MySQL进程挂了操作系统没挂的话操作系统还是会将os cache刷到磁盘数据不会丢失 但如果MySQL所在的服务器挂掉了也就是操作系统都挂了那么os cache也会被清空数据还是会丢失。 三、undo log 1.作用 undo log主要用来回滚到某一个版本是一种逻辑日志。 数据库事务四大特性中有一个是原子性具体来说就是 原子性是指对数据库的一系列操作要么全部成功要么全部失败不可能出现部分成功的情况。实际上原子性底层就是通过undo log实现的。undo log主要记录了数据的逻辑变化 undo log记录的是修改之前的数据比如当delete一条记录时undolog中会记录一条对应的insert记录从而保证能恢复到数据修改之前。在执行事务回滚的时候就可以通过undo log中的记录内容并以此进行回滚。 undo log还可以提供多版本并发控制下的读取MVCC。 四、Mysql的时机顺序 时机顺序 1 开启事务 2 查询数据库中需要更新的字段加载到内存中 形成数据脏页 3 记录undo log到内存缓冲区用于回滚和mvcc并关联redo log - 可刷盘 4 记录 redo log到内存缓冲区 用于失败重放准备提交事务 - 可刷盘 5 修改内存中的脏页数据 6 提交事务触发redolog刷盘 7 undo log 和脏页 刷盘 8 事务成功 五、redo log 与 binlog 的两阶段提交 redo log 的写入拆成了两个步骤prepare 和 commit prepareredolog写入log buffer并fsync持久化到磁盘在redolog事务中记录2PC的XID在redolog事务打上prepare标识 commitbinlog写入log buffer并fsync持久化到磁盘在binlog事务中记录2PC的XID同时在redolog事务打上commit标识 六、总结 1.redo log是InnoDB存储引擎的一种日志主要作用是崩溃恢复有三种刷盘策略有innodb_flush_log_at_trx_commit 参数控制推荐设置成2。 2.undo log是InnoDB存储引擎的一种日志主要作用是回滚。 3.binlog是MySQL Server层的一种日志主要作用是归档。
http://www.w-s-a.com/news/504735/

相关文章:

  • 功能型网站响应式网站原理
  • 聊城建设网站骨干校 建设网站
  • 网站建设与管理是干嘛的中国新闻社是什么单位
  • 帮别人做视频剪辑的网站传业做微采商城网站
  • 设计一个网站开发方案宣传片制作企业
  • 新网站收录多少关键词免费一键网站
  • 网页制作与网站建设 在线作业手表网站制作照片
  • 电商网站开发技术与维护重庆建筑工程交易信息网
  • 人和马做的网站线上营销推广方式
  • 青海教育厅门户网站有赞商城
  • 网站建设多语种自动翻译插件wordpress谷歌翻译插件
  • 泰安高级网站建设推广wordpress教程 好看
  • 我自己的网站怎么做关键词优化泰安网站建设dxkjw
  • 平面设计做画册用网站泰州seo平台
  • 申请一个域名后怎么做网站evernote wordpress
  • 网站左侧导航栏设计网站开发后台数据怎么来
  • 临西做网站报价网站建设需要写语句吗
  • 建设网站网站首页购物网站开发代码
  • 淘宝客怎么建立网站网站360优化
  • 安徽建海建设工程有限公司网站网站空间和域名价格
  • 农产品网站建设策划哪里有做枪网站的
  • 更改各网站企业信息怎么做张家港企业网站制作
  • 郑州网站建设咨询银川做网站哪家好
  • 微信网站 微信支付合肥seo排名收费
  • 织梦做的网站如何上线广东省广州市番禺区南村镇
  • 网站设计的导航栏怎么做太原有网站工程公司吗
  • 苏州虎丘区建设局网站如何在一个数据库做两个网站
  • 淘宝天猫优惠券网站建设费用腾讯邮箱企业邮箱登录
  • 深圳福田做网站公司海航科技网站建设
  • 网站降权查询wordpress更换文章背景色