29、数据都在内存里修改,服务器或数据库宕机会丢数据吗

你好,我是俊达。 InnoDB使用REDO和UNDO来实现事务的ACID属性,保障数据不丢。事务修改缓存页里的数据时,会生成UNDO和REDO日志,事务提交时,虽然缓存页没有实时刷新,但是会确保REDO日志已经完成持久化。 下面是REDO和UNDO机...

MySQL运维实战课

30、事务怎么回滚(上)

你好,我是俊达。 事务是关系型数据库的核心功能,具有ACID的特征。一个事务中的修改,要么全部生效,要么全部不生效,即使数据库异常崩溃,也不会违反事务的ACID属性。 上一讲中我们介绍了用来保证对数据库的修改都不丢的Redo机制。这一讲,我们来看一下...

MySQL运维实战课

31、事务怎么回滚(下)

你好,我是俊达。 我们接着上一讲,继续介绍Undo。 Undo里的链表结构Undo里面,存在着好几个链表结构,包括Undo页面链表、Undo日志头链表、Undo记录链表。 Undo段页面链表Undo段中的页面组成一个双向链表。开始时,Undo段只有1...

MySQL运维实战课

32、隔离级别对应用程序有什么影响

你好,我是俊达。 事务的ACID属性中,I(Isolation)表示隔离性,指的是多个事务并发执行时,各个事务之间相互独立,仿佛在独立的环境中执行一样。数据库用来实现隔离性的两个重要的方法分别是MVCC(Multi-Version Concurren...

MySQL运维实战课

33、 InnoDB锁定和死锁问题:为什么我的SQL锁超时了

你好,我是俊达。 这一讲我们来聊一聊MySQL中的锁。MySQL中,存在很多不同类型的锁,我们先来大致了解下不同锁的作用。 MySQL中的锁MySQL使用锁来控制多个并发的进程或线程对共享资源的访问。那么在MySQL中,有哪些共享资源呢? 我总结起来...

MySQL运维实战课

34、MySQL数据库高可用架构部署和维护

你好,我是俊达。 从这一讲开始,我们来聊一聊怎么构建和运维MySQL高可用环境。高可用的重要性和必要性,这里就不多说了。实现高可用,需要在IT系统的整个链路上消除单点。MySQL要实现高可用,最基本的就是数据复制技术。 MySQL数据复制技术简介数据...

MySQL运维实战课
1456789