-
Mysql是一个当进程多线程架构;
-
区分数据库和实例;
- 数据库是文件的集合
- 数据库实例是程序,是位于用户和操作系统之间的一层数据管理软件
-
Mysql实例在系统的表现就是一个进程
-
Mysql启动找配置文件的顺序是/etc/my.cnf->/etc/mysql/my.cnf->/usr/local/mysql/etc/my.cnf->~/.my.cnf
-
Mysql架构图
image.png -
Mysql区别于其他数据库一个最重要的特性是插件式表存储引擎
-
特别注意存储引擎是基于表不是基于数据库
-
OLTP在线事务处理
-
Innodb使用多版本并发控制(mvcc)来获得高并发
-
Innodb采用聚集的方式,按主键顺序存储数据,如果没有设置主键,存储引擎会为每一行记录生成一个6字节的rowid作为主键
-
查看表详细信息sql:
select * from information_schema.TABLES where information_schema.TABLES.TABLE_SCHEMA='databasename'and information_schema.TABLES.TABLE_NAME='tablename'\G
- 连接msyql操作是一个连接进程和mysql实例进行通信
- 进程间通信方式,mysql与客户端通信方式
- Tcp/ip
- 如:mysql -h 110.123.22.4 -uroot -p
- 命名管道和共享内存
- 管道:需在配置文件中配置--enable-named-pipe选项
- 共享内存:需要在配置文件天--shared-memory ,客户端连接是需加--protocol=memory
- Unix域套接字 先使用show variables like 'socket' 查找mysql配置的套接字路径,客户端连接使用如:mysql -uroot -S /tmp/mysql.sock -p
- Tcp/ip
网友评论