Excel为什么不能做数据库? 安全性, 管理, 存储限制
重要内容放 RDBMS 关系型数据库; 不重要:NOSQL 非关系型数据库
MySQL:工作模型 及 实例
MySql:进程在内存中守护运行(不退出)率领一堆线程实现高并发处理
预分配内存(独占)
实例:mysqld的后台守护进程+一堆线程+预分配的内存结构
公司:BOSS + 员工 + 办公室
功能:管理数据
多实例:启动多套程序
mysqld:最核心的进程
Server层(可被分为:Connection层 + SQL层) + 存储引擎层->和磁盘打交道
连接层:
- 提供连接协议(Socket, TCP/IP)
- 验证功能:username pasword
- 提供专用的连接线程
mysql > show processlist;
SQL层:
- 语法检查
- 语义(DDL,DML,DCL)
- 权限检查
- 解析预处理(沙盘:用算法预先评估效率)
- 优化器:选择最优方案(基于 cost)
- 按优化器的选择,执行SQL语句
- 查询缓存(query cache 默认不开启,不建议),可用redis 替代
- 日志记录(binlog:修改类的操作 glog:所有语句,默认不开启)
客户端:
1.mysql -uroot -p123 -h ipaddr -p3306
select user, host from mysql.user;