83 lines
4.2 KiB
Markdown
83 lines
4.2 KiB
Markdown
# 配置选项
|
||
|
||
ChuSQL 使用统一配置文件 `settings.toml`。默认位置:
|
||
|
||
| 平台 | 路径 |
|
||
| --- | --- |
|
||
| Windows | `%APPDATA%\ChuSQL\settings.toml` |
|
||
| Linux / macOS | `$XDG_CONFIG_HOME/ChuSQL/settings.toml`;未设置时为 `~/.config/ChuSQL/settings.toml` |
|
||
|
||
`chusql-server`、`chusql-web` 和 `csql` 均可通过 `--config <path>` 临时指定其他配置文件。配置优先级为:**命令行参数 > 配置文件 > 内置默认值**。
|
||
|
||
## 存储配置
|
||
|
||
| 配置项 | 默认值 | 说明 |
|
||
| --- | --- | --- |
|
||
| `[page] size` | `4096` | 数据页大小(字节) |
|
||
| `[btree] order` | `4` | B+ 树阶数 |
|
||
| `[buffer] pool_size` | `1024` | 缓冲池页数 |
|
||
| `[storage] data_dir` | 平台默认数据目录 | 数据文件保存位置 |
|
||
| `[storage] log_files` | 安装时填写平台日志目录 | 诊断日志目录,不是 WAL |
|
||
| `[log] level` | `info` | 日志级别 |
|
||
|
||
正常运行时数据目录由 `chusql-server` 访问,离线初始化与修复由 `csql-bootstrap` 访问。安装器填写绝对路径,日志目录由启动器与安装脚本使用。
|
||
|
||
## Web 配置
|
||
|
||
| 配置项 | 默认值 | 说明 |
|
||
| --- | --- | --- |
|
||
| `port` | `7778` | Web 服务端口 |
|
||
| `listen_host` | `127.0.0.1` | Web 服务监听地址 |
|
||
| `cookie_secure` | `false` | HTTPS 部署时应启用 |
|
||
| `body_limit` | `65536` | 请求体大小上限(字节) |
|
||
| `session_idle` | `28800` | 会话空闲超时(秒) |
|
||
| `session_max` | `86400` | 会话最大存活时间(秒) |
|
||
| `login_max_attempts` | `5` | 登录失败限制阈值 |
|
||
| `login_window` | `300` | 登录限制统计窗口(秒) |
|
||
| `rows_per_page` | `25` | 默认分页大小 |
|
||
| `max_page_size` | `500` | 最大分页大小 |
|
||
| `max_rows` | `1000` | 单次查询最大返回行数 |
|
||
| `max_sql_length` | `20000` | SQL 最大字符数 |
|
||
| `seed` | `false` | 空库时是否写入演示数据 |
|
||
| `password_min_length` | `12` | 普通账号最短口令长度 |
|
||
| `password_classes` | `2` | 口令至少包含的字符类别数 |
|
||
|
||
监听地址见上表,静态资源目录固定为 `static`(相对安装目录),管理员账号名不在配置里、由启动参数 `--user` 指定(默认 `root`);后两项不能用配置项改写。
|
||
|
||
## Server 配置
|
||
|
||
| 配置项 | 默认值 | 说明 |
|
||
| --- | --- | --- |
|
||
| `port` | `7777` | 数据库服务端口 |
|
||
| `listen_host` | `127.0.0.1` | 数据库服务监听地址 |
|
||
| `max_message` | `1048576` | 单条请求最大大小(字节) |
|
||
| `max_rows` | `1000` | 单次查询最大返回行数 |
|
||
|
||
本机 sudo 认证额外使用 `[server] sudo_auth_user`,默认空字符串,表示关闭。设置为一个已启用 `ALLOW_SUDO_AUTH` 的数据库身份后,必须以 Unix root 或 Windows 提升后的管理员运行 `chusql-server`。这是明确的本机身份映射,与启动参数 `--user` 和最高权限属性分别设置。配置变更后重启服务生效,Web 设置页面不提供此项。操作步骤见 [用户与角色](users-and-roles.md#本机-sudo-认证)。
|
||
|
||
修改 Server 相关配置后需要重启 `chusql-server`。
|
||
|
||
## 账号与安全
|
||
|
||
账号口令不保存在配置文件中,而保存在系统数据库中。管理员口令在安装或系统引导时设置,之后可通过 SQL 或 Web 管理界面修改。
|
||
|
||
系统目录未完成初始化时,`chusql-server` 将拒绝启动并提示运行 `csql-bootstrap`。
|
||
|
||
对外部署时建议:
|
||
|
||
- 数据库服务仅监听受控网络接口;
|
||
- Web 服务通过 HTTPS 或反向代理提供;
|
||
- HTTPS 环境启用 `cookie_secure`。
|
||
|
||
## 修改配置
|
||
|
||
配置可通过以下方式修改:
|
||
|
||
1. 直接编辑 `settings.toml`;
|
||
2. 通过 Web 设置页面修改。
|
||
|
||
大多数配置在相关服务下次启动时生效。
|
||
|
||
安装器选择 `resources/settings.toml.linux` 或 `resources/settings.toml.windows`,填入当前用户的绝对路径后释放为 `settings.toml`。两份模板逐项提供英文注释。
|
||
|
||
Linux 数据目录为 `${XDG_DATA_HOME:-$HOME/.local/share}/chusql/data`,日志目录为 `${XDG_STATE_HOME:-$HOME/.local/state}/chusql/logs`。Windows 数据和日志分别为 `%LOCALAPPDATA%\ChuSQL\data` 与 `%LOCALAPPDATA%\ChuSQL\logs`。安装参数 `--data-dir` / `-DataDir` 可覆盖数据目录,指定安装目录不会改变默认数据位置。 |