mysql学习笔记(一):存储引擎,连接MySQL和日志文件

本文介绍了MySQL的基础知识,包括数据库和实例的概念,MySQL的体系结构,重点讲解了存储引擎如InnoDB和MyISAM的特点与适用场景,以及连接MySQL的不同方式,如TCP/IP、命名管道、共享内存和UNIX域套接字。此外,还概述了MySQL的日志文件类型及其作用,如错误日志、通用查询日志、慢查询日志和二进制日志。
摘要由CSDN通过智能技术生成

目录

1.数据库和实例

2.MySQL体系结构

3.存储引擎 

4.连接MySQL

命名管道和共享内存:

UNIX域套接字:

文件描述符

如何远程登录mysql

5.日志文件

1.错误日志(.err)

2.通用查询日志

3.慢查询日志

4.二进制日志

5.redo log

6.undo log



1.数据库和实例

数据库(database):物理操作系统文件或其他形式文件的集合;是依照某种数据模型组织起来并存放于二级存储器中的数据集合。通常表现为:frm、MYD、MYI、ibd结尾的文件。

由一个个文件组成(一般来说都是二进制文件),要对这些文件进行增删改查,则需要通过数据库实例来完成。


实例(instance):MySQL数据库由后台线程及一个共享内存区组成。共享内存可以被运行的后台线程所共享。数据库实例是真正用于操作数据库文件的。

可以理解为应用编程实例的思想在一台服务器里面启动多个mysqld进程。

用户对与数据库数据的任何操作(增删改查),都是在数据库实例下进行的,应用程序只有通过数据库实例才能和数据库打交道。


2.MySQL体系结构

Connection Pool:连接池组件,管理缓冲用户连接,线程处理等需要缓存的需求
Management Serveices &Utilities:管理服务和工具组件
SQL Interface:SQL接口组件,接受用户的SQL命令,并且返回用户需要查询的结果。比如select from就是调用SQL Interface。

Parser:查询分析器组件SQL命令传递到解析器的时候会被解析器验证和解析。解析器是由Lex和YACC实现的,是一个很长的脚本。


3.存储引擎 

当数据库进行数据操作的时候就需要用到存储引擎

一 、Innodb

支持事务,是事务安全的,提供行级锁与外键约束,有缓冲池,用于缓冲数据和索引。 

适用场景:用于事务处理,具有ACID事物支持,应用于执行大量的insert和update操作的表。

二 、MyISAM

不支持事务,不支持外键约束,不支持行级锁,操作时需要锁定整张表,不过会保存表的行数,所以当执行select count(*) from tablename时执行特别快。5.5.8之前

适用场景:用于管理非事务表,提供高速检索及全文检索能力,适用于有大量的select操作的表,如 日志表

三 、MEMORY

使用存在于内存中的内容创建表,每一个memory只实际对应一个磁盘文件。因为是存在内存中的,所以memory访问速度非常快,而且该引擎使用hash索引,可以一次定位,不需要像B树一样从根节点查找到支节点,所以精确查询时访问速度特别快,但是非精确查找时,比如like,这种范围查找,hash就起不到作用了。另外一旦服务关闭,表中的数据就会丢失,因为没有存到磁盘中。

适用场景:主要用于内容变化不频繁的表࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值