MySQL
文章平均质量分 92
c.a.p
江湖人
展开
-
MySQL系列-undo
之前讨论过redo的作用,那么与之对应的便是undo了,undo记录了事务的行为,实现了MySQL的回滚和MVCC。当update、delete或者insert一条数据,都会对应的在undo中生成一个前镜像信息,这个前镜像是以逻辑方式存储的(即反向更改的SQL语句,delete对应insert,insert对应delete),当需要rollback时,通过undo记录信息进行rollback,同Oracle undo一样,MySQL undo也是通过segment管理具体事务的,但是存储在共享表空间中(ib原创 2021-12-17 10:24:35 · 3156 阅读 · 0 评论 -
MySQL系列-redo
InnoDB redoredo 是实现事务持久性的重要组成部分,innodb存储引擎中的redo文件在数据目录下,名字为ib_logfile0和ib_logfile1的文件,它以每次io为512字节为最小io写入redo文件中,redo文件在物理磁盘中顺序写入(这里我们大致可以认为是顺序的,其实不然,后续会详细展开讨论),其大小最大为512G,两个文件循环使用。其中使用最小io512字节也是为了迎合物理磁盘一次物理io512字节,这样redo写入就无需使用DBW就能保证写入成功。当数据发生变更都先变原创 2021-12-10 16:31:59 · 1396 阅读 · 0 评论 -
MySQL系列-binlog
MySQL binlog是MySQL数据库的DDL 和DML (除了数据查询语句select、show等)操作的逻辑重放,他像Oracle redo 但不同于Oracle redo,MySQL binlog记录的不光是逻辑日志,还是数据库层的逻辑操作,众所周知,由于MySQL架构设计问题,MySQL作为一个支持多种存储引擎的开放式数据库,那么他就会有不同于存储引擎的日志记录,它就是binlog,不同于innodb 的redo。Binlog 的日志格式记录在二进制日志中的事件的格式取决于二进制记录原创 2021-12-02 10:20:05 · 849 阅读 · 0 评论 -
MySQL系列-innodb doublewrite
DBW(double write)double wirte是innodb存储引擎为了保证数据页的安全性而引入的一项技术,那么数据库安全性从何说起呢?就从数据磁盘的一次io是4KB说起,一项简单的命令来证实。[root@hostname ~]# getconf PAGESIZE4096众所周知mysql数据页(page)大小为16KB,那么就会出现一个现象就是innodb一次IO,OS往往需要4次IO才能处理完,这就会引入一个问题,如果在第2次或者第3次IO的时候数据库crash或者服原创 2021-11-30 17:00:45 · 2000 阅读 · 0 评论 -
MySQL系列-备份恢复
MySQL备份恢复备份恢复对于DBA是一个比较关注的点,在ORACLE中有很强大的RMAN和EXPDP,拥有很强大的功能,使数据库有备无患,在MySQL中就没有那么省心了,在MySQL中备份主要用mysqldump和precona公司开发的xtrabackup工具来实现。一、mysqldumpmysqldump是一个逻辑备份的工具,它将数据被分成insert语句,然后恢复的时候在应用语句进行恢复。其功能类似于Oracle的exp/imp。1.参数详解--all-databases , -原创 2021-01-26 17:11:16 · 253 阅读 · 0 评论 -
MySQL系列-InnoDB概述
InnoDB概述InnoDB是MySQL默认也是一款比较优秀的存储引擎,他的优秀在于很多特有的特性以及优秀的事务处理能力,与其说是存储引擎倒不如说他是一个数据库实例,我说的是功能上的丰富,实际上在MySQL世界里没有明显的数据库(database)和实例(instance)的区分,如果严格的按照Oracle方式来区分MySQL数据库和实例的话那么MySQL就只是一个数据库,它提供的是一个或多个存储引擎的载体,为SQL提供一个基于成本的优化器,但又不同的是它包含优化器这又区别Oracle中实例和数据库的区原创 2021-01-04 16:42:21 · 274 阅读 · 0 评论 -
MySQL系列-MySQL体系结构
简介MySQL数据库是由MySQL AB 公司开发一款开源分布式数据库,MySQL本身结构相对商业数据库来说结构简单,在最开始几个版本没有造成数据库行业太大的波动,由于其开源吸引了大批开发者参与其中也深受互联网公司青睐,具有更强的生命力,发展迅速。直到Oracle公司收购了sun公司之后MySQL的迭代速度大幅增快,分为社区版和商业版,直至今日MySQL在市场上的占有份额以达到与Oracle分庭抗礼的地步。所谓分布式是区别传统Oracle、DB2来说的,MySQL的分布式架构是需要开源工具实现的,这原创 2020-12-05 16:13:22 · 159 阅读 · 0 评论 -
MySQL系列-mysql8.0数据目录文件解释
很多人都使用过mysql,随着版本的不断迭代,也伴随着新特性的不断完善在data目录下产生了一些列新的文件,跟很多人讨论过这些文件的作用,大家也都没有太注意,这里作此讨论。数据目录文件解释-rw-r-----. 1 mysql mysql 56 11月 16 16:56 auto.cnf-rw-r-----. 1 mysql mysql 0 11月 16 17:00 binlog.index-rw-------. 1 mysql mysql 1680 1原创 2020-12-03 21:53:15 · 1764 阅读 · 0 评论 -
MySQL系列-8.0安装
一、创建相关用户和目录[root@MySQL8-SmallA ~]# groupadd -g 500 mysql[root@MySQL8-SmallA ~]# useradd -u 501 -g mysql -d /home/mysql mysql[root@MySQL8-SmallA ~]# mdkir -p /soft /data/mysql /data/log /log[root@MySQL8-SmallA ~]# chown mysql.mysql -R /soft[roo.原创 2020-12-03 21:39:46 · 583 阅读 · 0 评论