MySQL 启动选项与系统变量
MySQL 的行为可以通过启动选项和系统变量调整。启动选项通常在服务启动时生效,系统变量可以分为全局级别和会话级别。
配置来源
mermaid
flowchart TD
A[MySQL启动] --> B[读取配置文件]
B --> C[读取命令行启动参数]
C --> D[初始化全局系统变量]
D --> E[客户端建立连接]
E --> F[生成会话系统变量]启动选项
启动选项用于控制 MySQL 服务启动时的行为,例如端口、数据目录、字符集、日志路径等。
| 选项 | 作用 |
|---|---|
--port | 指定监听端口 |
--datadir | 指定数据目录 |
--character-set-server | 指定服务端默认字符集 |
--default-storage-engine | 指定默认存储引擎 |
--log-error | 指定错误日志文件 |
系统变量
| 类型 | 说明 |
|---|---|
| Global | 全局变量,影响之后创建的新会话 |
| Session | 会话变量,只影响当前连接 |
| Read Only | 只读变量,不能运行时修改 |
| Dynamic | 动态变量,可以运行时修改 |
排查建议
- 不确定变量当前值时,使用
SHOW VARIABLES LIKE '变量名';。 - 修改全局变量后,已存在连接不一定立刻受影响。
- 配置文件修改后通常需要重启 MySQL 才能生效。
- 生产环境修改变量前要记录原值和回滚命令。
