排序
EXPOSE 指令与 -p 参数:端口声明的本质区别
EXPOSE 指令与 -p 参数:端口声明的本质区别 概述 在 Docker 的日常使用中,EXPOSE 指令和 -p(--publish)参数都涉及端口,但它们的职责和生效方式完全不同。很多新手把 EXPOSE 当成'打开端口'...
USER 指令:为什么你的容器不该用 root 运行?
USER 指令:为什么你的容器不该用 root 运行? 概述 Docker 容器的默认用户是 root(UID 0)。在容器内以 root 运行看似方便,实则带来了严重的安全风险。USER 指令允许我们在 Dockerfile 中切...
多阶段构建:如何生成数百 MB 镜像?
多阶段构建:如何生成数百 MB 镜像? 概述 多阶段构建(Multi-stage Build)是 Docker 17.05 引入的功能,允许在一个 Dockerfile 中使用多个 FROM 语句,每个 FROM 开始一个新的构建阶段。你可...
镜像标签命名规范:从 :latest 到语义化版本
镜像标签命名规范:从 :latest 到语义化版本 概述 Docker 镜像标签(Tag)是镜像版本的标识符。一个合理的标签命名规范能让你清楚地知道:这个镜像是什么、什么时候构建的、基于什么代码、适用...
Server 层和存储引擎层分工
Server 层和存储引擎层分工 为什么需要分层 MySQL 将逻辑处理和数据存储分开,Server 层负责'做什么',引擎层负责'怎么做'。这种设计让 MySQL 能够灵活支持多种存储引擎,是它最大的架构优势之...
MySQL 基础架构分层及各层职责
MySQL 基础架构分层及各层职责 概述 MySQL 的架构设计是面试高频题。理解其分层思想,能帮你快速定位问题、优化查询。整体上 MySQL 分为两层:Server 层 和 存储引擎层。 架构分层总览 graph TB...
连接器工作流程
连接器工作流程 连接器的作用 连接器是 MySQL 与客户端通信的第一个组件,负责建立连接、校验身份、管理权限。每次客户端发起连接请求,都要经过连接器的完整流程。 完整流程 flowchart TD A[客...
分析器主要功能
分析器主要功能 分析器的位置 在 MySQL 的查询执行链路中,分析器(Parser)位于连接器之后、优化器之前。它的输入是SQL 字符串,输出是解析树(Parse Tree)。 graph LR A[SQL字符串] --> B[分...
修改权限后已建立连接不生效原因
修改权限后已建立连接不生效原因 问题场景 作为 DBA,你可能遇到过这种情况: -- 1. 给用户授新权限 GRANT SELECT ON db1.* TO 'user1'@'localhost'; -- 2. 但 user1 已有连接...
优化器核心职责
优化器核心职责 优化器是什么 优化器(Optimizer)是 MySQL Server 层的'大脑',负责为 SQL 语句选择成本最低的执行方案。它的输入是解析树,输出是执行计划。 核心职责概览 graph TD A[解析树]...

