MySQL体系管理
2022/8/4 2:22:58
本文主要是介绍MySQL体系管理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
MySQL体系管理
客户端与服务端模型
C/S架构服务 Client/Server
客户端
- mysql - mysqladmin - mysqldump
MySQL的连接方式
TCP/IP
mysql -uroot -p123 -h10.0.0.51
Socket
mysql -uroot -p123 -s /application/mysql/tmp/mysql.sock
1.mysql默认走socket 2.什么都不加走默认连接方式 3.不是所有-h都是TCP 4.只要-h后面加IP地址,就是TCP
MySQL服务器构成
实例
MySQL的后台+多线程+预分配的内存结构
mysql守护进程的程序结构
连接层
1.提供两种连接方式 - TCP - Socket 2.验证用户的合法性 3.提供了一个专用的线程,接收SQL和SQL层交互
SQL层
1.接收连接层传递来的有权限的SQL语句 2.验证SQL语句(Syntax)的语法 3.验证SQL语句的语义,执行的是查询,删除,修改...之类的操作 - DML - DDL - DCL - DQL - DTL 4.解析器,解析SQL语句,生成多种执行计划 5.优化器,根据解析器生成多种执行计划,选择最优的哟条 6.执行器,执行最优的一条SQL语句 7.接收存储引擎层返回的数据,将数据传递给连接层 8.如果前面有缓存,将数据写一份 9.如果开启了binlog,记录日志(binlog)
存储引擎
1.接收SQL层传递来的SQL语句信息 2.区对于的库下找对应的表中的数据,结构化成表的形式,返回给SQL层 3.提供了一个专用的线程,和SQL交互
MySQL的结构
逻辑结构
# MySQL数据库管理员的操作对象 - 库 - 表 元数据 列(字段,列名) 其他属性(数据类型,是否非空,默认值,唯一,自增……) 真实数据
物理结构
* 最底层的数据文件
MySQL 表结构划分
段:由多个区构成,一张表就是一个段
区:由多个页构成,一个区由64个页构成,1M
(块、页)block:MySQL最小的存储单元,默认16k
使用systemd管理MySQL
[root@m01 ~]# vim /usr/lib/systemd/system/mysqld.service [Unit] Description=MySQL Server Documentation=man:mysqld(8) Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html After=network.target After=syslog.target [Install] WantedBy=multi-user.target [Service] User=mysql Group=mysql ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf LimitNOFILE = 5000
这篇关于MySQL体系管理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-25如何部署MySQL集群资料:新手入门教程
- 2024-12-24MySQL集群部署资料:新手入门教程
- 2024-12-24MySQL集群资料详解:新手入门教程
- 2024-12-24MySQL集群部署入门教程
- 2024-12-24部署MySQL集群学习:新手入门教程
- 2024-12-24部署MySQL集群入门:一步一步搭建指南
- 2024-12-07MySQL读写分离入门:轻松掌握数据库读写分离技术
- 2024-12-07MySQL读写分离入门教程
- 2024-12-07MySQL分库分表入门详解
- 2024-12-07MySQL分库分表入门指南