mirror of
https://github.com/mangooer/mysql-mcp-server-sse.git
synced 2025-12-08 09:42:27 +08:00
61 lines
2.4 KiB
Bash
61 lines
2.4 KiB
Bash
# 服务器配置
|
||
HOST=127.0.0.1 # 服务器监听地址
|
||
PORT=3000 # 服务器监听端口
|
||
|
||
# 数据库连接配置
|
||
MYSQL_HOST=localhost # MySQL服务器地址
|
||
MYSQL_PORT=3306 # MySQL服务器端口
|
||
MYSQL_USER=root # MySQL用户名
|
||
MYSQL_PASSWORD= # MySQL密码(留空表示无密码)
|
||
MYSQL_DATABASE=testdb # 要连接的数据库名
|
||
DB_CONNECTION_TIMEOUT=5 # 连接超时时间(秒)
|
||
|
||
# MySQL 8.0 认证插件配置
|
||
# - mysql_native_password: 兼容性好,不需要额外依赖,但安全性较低
|
||
# - caching_sha2_password: MySQL 8.0 默认,安全性高,需要 cryptography 包
|
||
# 如果使用 MySQL 8.0 且用户采用 caching_sha2_password,请确保已安装 cryptography 包
|
||
DB_AUTH_PLUGIN=mysql_native_password # 认证插件类型
|
||
|
||
# 数据库连接池配置
|
||
DB_POOL_ENABLED=true # 是否启用连接池 (true/false)
|
||
DB_POOL_MIN_SIZE=5 # 连接池最小连接数
|
||
DB_POOL_MAX_SIZE=20 # 连接池最大连接数
|
||
DB_POOL_RECYCLE=300 # 连接回收时间(秒)
|
||
DB_POOL_MAX_LIFETIME=0 # 连接最大存活时间(秒,0表示不限制)
|
||
DB_POOL_ACQUIRE_TIMEOUT=10.0 # 获取连接超时时间(秒)
|
||
|
||
# 环境类型
|
||
# development: 开发环境,较少限制
|
||
# production: 生产环境,严格安全限制
|
||
ENV_TYPE=development
|
||
|
||
# 安全配置
|
||
# 允许的风险等级: LOW(查询), MEDIUM(安全修改), HIGH(结构变更), CRITICAL(危险操作)
|
||
ALLOWED_RISK_LEVELS=LOW,MEDIUM,HIGH
|
||
|
||
# 是否允许查询敏感字段信息(密码,凭证等)
|
||
ALLOW_SENSITIVE_INFO=false
|
||
|
||
# 最大SQL语句长度限制
|
||
MAX_SQL_LENGTH=5000
|
||
|
||
# 阻止的SQL模式,多个模式用逗号分隔
|
||
# 例如: 'DROP TABLE,DROP DATABASE,DELETE FROM' 将阻止包含这些字符串的查询
|
||
BLOCKED_PATTERNS=
|
||
|
||
# 是否启用查询安全检查
|
||
ENABLE_QUERY_CHECK=true
|
||
|
||
# 数据库隔离配置
|
||
# 是否启用数据库隔离(防止跨数据库访问)
|
||
ENABLE_DATABASE_ISOLATION=false
|
||
# 数据库访问级别: strict(严格), restricted(限制), permissive(宽松)
|
||
# - strict: 只能访问指定的数据库
|
||
# - restricted: 可以访问指定数据库和系统库(information_schema, mysql等)
|
||
# - permissive: 可以访问所有数据库(默认)
|
||
# 注意:生产环境(ENV_TYPE=production)会自动启用数据库隔离并设为restricted模式
|
||
DATABASE_ACCESS_LEVEL=permissive
|
||
|
||
# 日志配置
|
||
# DEBUG, INFO, WARNING, ERROR, CRITICAL
|
||
LOG_LEVEL=DEBUG |