1.mysql的2种连接方式

TCP/IP 方式(远程 本地):

mysql -uroot -ppassword -h 10.0.0.51 -P3306

Socket方式(仅本地):
mysql -uroot -ppassword -s /tmp/mysql.sock


2.关于实例


实例=Mysqld + Master Thread + 干活的Thread + 预分配的内存结构


实例:MySQL数据库由后台线程及一个共享内存区组成,数据库实例才是真正用于操作数据库文件

的程序集,是一个动态概念。

在MySQL中实例和数据库的关系通常是一一对应的,即一个实例对应一个数据库,但是现在越来越

多的场景使用多实例,也就是一个数据库被多个数据库实例使用多情况。

Mysql被设计成一个单进程多线程架构的数据库,所以在操作系统上表现就是一个进程。

3.结构化的查询语言

DQL    数据查询语言
DDL    数据定义语言
DML    数据操作语言
DCL    数据控制语言

4.mysqld的三层


 




5.mysql的逻辑存储结构






6.mysql的物理存储结构

库 以文件夹的形式存在
我们尝试在mysql的目录中新建一个文件夹如testfolder,此时我们在showdatabases 可以发现了

多了一个testfolder的库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema   |
| mysql                          |
| performance_schema |
| sys                              |
| testfolder                     |
+--------------------+
5 rows in set (0.01 sec)



     MyISAM (慢慢被淘汰)

比如 user表,一共是一个3个文件来存储这张表的信息

 user.frm  存储表的结构(列 列属性)
 user.MYD  存储数据记录
 user.MYI  存储索引



     InnoDB(默认存储类型)

比如 timezone表

time_zone.frm    存储表的结构(列 列属性)
time_zone.ibd   存储的数据记录和索引

除了上面2个文件外,还有一个ibdata1文件 用来存储数据字典信息(元数据,数据库启动时自动收集关于这张表的属性)


7.InnoDB 段 区 页

上面提到的ibd文件,在mysql使用它的时候,会类似于格式化的方式(用存储引擎格式化)使用

,格式化后的idb文件的每个块(page)的大小是16KB,一般来说当写入行数据时一次会向系统申

请64个页,即一兆的空间,这个一兆的文件又会被称为区。mysql的表根据存储需求,会有多个区

构成,我们又把表称之为一个段

一般情况下 (非分区表)
一个表就是一个段
一个段由多个区构成
一个区包含64个连续的16K的页也就是1M大小
也可以包含32个连续的32K的页大小还是1M






posted on 2020-04-21 09:49  wilson'blog  阅读(128)  评论(0)    收藏  举报