我们知道MySQL数据库相关的一些文件,可以分为MySQL数据库文件以及各存储引擎相关的文件。与MySQL数据库有关的文件中,错误文件和二进制日志文件非常重要。当MySQL数据库发生任何错误时,DBA首先就应该去查看错误文件,从文件提示的内容中找出问题所在。当然,错误文件不仅记录了错误内容,也记录了[......]
读书笔记
MySQL二进制日志(binlog)
二进制日志(binary log)记录了对MySQL数据库执行更改的所有操作,但是不包括SELECT和SHOW这类操作,因为这类操作对数据本身并没有修改。然而,若操作本身并没有导致数据发生变化,那么该操作可能也会写入二进制日志。例如:
tqdb@localhost.[tqdb] 16:00:48&[......]
MySQL InnoDB锁和死锁
在使用MySQL的业务中,经常会碰到各种MySQL的死锁。一直以来,我们接触比较多的是Oracle数据库,而大家正在逐步开始使用MySQL数据库,都对MySQL的死锁不甚了解,趁这次机会,好好学习一下MySQL的死锁。我们的死锁的讨论是在InnoDB引擎基础上的。
1. MySQL索引
1.1[......]
MySQL使用可重复读作为默认隔离级别的原因
一般的RDBMS系统,默认都会使用读提交(Read-Comitted,RC)作为默认隔离级别,如Oracle、SQL Server等,而MySQL却使用可重复读(Read-Repeatable,RR)。要知道,越高的隔离级别,能解决的数据一致性问题越多,理论上性能损耗更大,可并发性越低。隔离级别依次[......]
Oracle 10g/11g Latch机制的变化
Oracle 10g/11g Latch机制的变化:前面曾经提到,Oracle的Latch机制采用spin来进行持有CPU的不断尝试,虽然通常Latch的获取会非常快(一般在微秒级),但是很多时候Latch竞争还是会引发极为严重的CPU争用。所以从Oracle 10g开始,Oracle尝试引入一种新[......]