mysql eva模型_1.初识mysql

最近参与了一些线上的工作,开始关注mysql数据库的在开发中遇到的各种问题,很久没有输入,决定读一读书,学习和mysql相关的知识,顺便记个笔记。于是就有了这篇博客。

DBMS设计对比

DBMS

win

linux

mysql

单进程多线程

sqlserver

单进程多线程

oracle

单进程多线程

多进程

mysql实例

每一个启动的mysql进程都被称作一个实例,数据库实例真正用于操作数据库文件,mysql实例 = 后台线程+共享内存区。一个实例通常对应一个数据库,在集群情况下可能存在一个数据库被多个实例使用的情况。

bin>./mysqld_safe& #启动数据库实例

bin>ps -ef|grep mysqld #查看mysql进程

bin>mysql --help|grep my.cnf #查看启动时读取配置的顺序

mysql可以无配置文件启动,此时会按照编译时的默认参数设置启动实例。如果多个配置文件中配置冲突,会以最后一个读到的配置为准。

linux系统中mysql的默认配置

datadir=/ust/local/mysql/data

可以通过sql查询:show variables like 'datadir'\G;

通常情况下data目录的权限应该为mysql:mysql

数据库体系结构

9e0e8486e2e68a9f0c13cbbadd64bdd3.png

存储引擎

其中插件式存储引擎时mysql最重要的特点,存储引擎是基于表而不基于数据库。用户还可以根据自己的需求对存储引擎进行重新开发或二次开发。Innodb本身也是第三方存储引擎,后被Oracle收购。

Innodb —— mysql5.5.8之后默认的存储引擎

支持行级锁,非锁定读(读操作不产生锁)。

高性能和高可用

通过MVCC(多版本并发控制)实现高并发、标准4种隔离级别(默认REPEATABLE)、采用next-key 策略避免phantom幻读;

数据存储

采用聚集方式(clustered)。每张表都按照主键顺序存放在一个独立的ibd文件中,如未制定主键,会自动生成6字节ROWID。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值