n8n 官方要求 MySQL ≥ 8.0 或 MariaDB ≥ 10.3
n8n 默认是 SQLite,数据库存储在:
- Windows 默认:%USERPROFILE%\.n8n\database.sqlite
- Linux/macOS 默认:~/.n8n/database.sqlite
配置方式(.env
文件):
在 n8n 根目录或你指定的 N8N_USER_FOLDER 下创建一个文件,命名为 .env:
a. 查看 N8N_USER_FOLDER
$ echo %N8N_USER_FOLDER%
%N8N_USER_FOLDER%
说明 Windows 环境中没有设置 N8N_USER_FOLDER,也就是说 n8n 正在使用 默认路径。
在 Windows 上:C:\Users\<你的用户名>\.n8n
b. 设置 N8N_USER_FOLDER
$ setx N8N_USER_FOLDER “D:\n8n\data”
c. 备份、删除 database.sqlite 数据(防止sqlite影响配置)
d. 之后重新打开命令提示符或 PowerShell,再运行:
# 数据库配置
DB_TYPE=mysql
DB_MYSQLDB_HOST=127.0.0.1
DB_MYSQLDB_PORT=3306
DB_MYSQLDB_DATABASE=n8n
DB_MYSQLDB_USER=n8n_user
DB_MYSQLDB_PASSWORD=123456
# n8n 端口和主机
N8N_PORT=5678
N8N_HOST=localhost
N8N_USER_FOLDER=D:\n8n\data
# SMTP 邮箱(发送确认邮件)
EMAIL_SMTP_HOST=smtp.163.com
EMAIL_SMTP_PORT=465
EMAIL_SMTP_USER=your_email@163.com
EMAIL_SMTP_PASS=your_smtp_password
EMAIL_FROM=your_email@163.com
配置方式(环境变量):
# 数据库类型
setx DB_TYPE “mysql”
# 数据库连接信息
setx DB_MYSQLDB_HOST “127.0.0.1”
setx DB_MYSQLDB_PORT “3306”
setx DB_MYSQLDB_DATABASE “n8n”
setx DB_MYSQLDB_USER “root”
setx DB_MYSQLDB_PASSWORD “123456”
d. 进入n8n目录(测试如果不进去,.env文件无法生效),启动 n8n
$ cd D:\n8n\data
$ n8n
如果出现以上报错说明mysql版本过低,不支持json
默认端口:5678
浏览器访问:http://localhost:5678