MySQL体系结构
一、MySQL客户端/服务器工作模式(C/S)
1.本地socket链接方式
在/etc/my.cnf文件中定义了 socket=/tmp/mysql.sock,指的是本地使用mysql命令登陆时,所要调用的文件。
mysql -S /tmp/mysql.sock
或
mysql -uroot -qwe123 -S /tmp/mysql.sock
注:只能在本地使用,不依赖于IP和端口
2.远程TCP/IP方式(远程、本地):
mysql -uroot -qwe123 -h 10.0.0.51 -P3306
二、服务端:实例
实例:mysqld+工作线程+预分配的内存结构
功能:管理数据
例如一家公司:boos+员工+办公室
三、mysqld程序结构
四.MySQL逻辑结构
Linux:
目录:名字+属性
文件:文件名+文件属性+文件内容
MySQL:
库:库名+库属性
表:表名+表属性+表内容+列
1.查看MySQL有哪些数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.03 sec)
2.使用数据库
mysql> use mysql;
Database changed
3.查看数据库内有哪些表
mysql> show tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| engine_cost |
| event |
| func |
····
4.查看表列的情况
mysql> mysql> desc user;
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Host | char(60) | NO | PRI | | |
| User | char(32) | NO | PRI | | |
| Select_priv | enum('N','Y') | NO | | N | |
| Insert_priv | enum('N','Y') | NO | | N | |
| Update_priv | enum('N','Y') | NO | | N | |
| Delete_priv | enum('N','Y') | NO | | N | |
五.MySQL物理存储结构
段:一个表就是一个段
区:一个区(簇),默认1M,连续的64个pages
页:一个页,默认16KB,连续的4个OS block,最小的IO单元