如何将Apache Superset从SQLite切换至MySQL?配置后仍连SQLite求助
Apache Superset 从SQLite切换至MySQL的配置步骤及排障
一、完整配置步骤
- 准备MySQL环境
- 登录MySQL,创建Superset专用数据库:
CREATE DATABASE superset CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - 为Superset授权数据库访问权限(替换
xxxxxx为你的MySQL密码):GRANT ALL PRIVILEGES ON superset.* TO 'root'@'127.0.0.1' IDENTIFIED BY 'xxxxxx'; FLUSH PRIVILEGES;
- 登录MySQL,创建Superset专用数据库:
- 安装MySQL驱动
执行命令安装Superset连接MySQL所需的依赖:pip install mysqlclient - 配置
superset_config.py
在配置文件中添加以下内容(保留你已配置的Swagger相关属性):SQLALCHEMY_DATABASE_URI = 'mysql://root:xxxxxx@127.0.0.1:3306/superset' - 初始化MySQL数据库
执行命令完成数据库初始化:superset db upgrade - 重启Superset服务
停止当前Superset进程后重新启动:superset stop superset start
二、配置后仍连接SQLite的排障方案
- 确认配置文件加载路径
Superset默认从~/.superset/superset_config.py读取配置,若你的文件在其他路径,需通过环境变量指定:
设置后再重启Superset服务。export SUPERSET_CONFIG_PATH=/absolute/path/to/your/superset_config.py - 检查配置项拼写
确保SQLALCHEMY_DATABASE_URI无拼写错误,比如不要写成SQLALCHEMY_DATABASE_URL这类错误名称。 - 验证配置是否生效
启动Superset后,进入UI的「Settings」→「About」页面,查看「Database URI」字段,确认显示的是MySQL连接地址而非SQLite的路径。 - 重新执行数据库初始化
若之前未执行superset db upgrade,即使配置正确,Superset仍会默认使用SQLite,需重新执行初始化命令。
内容的提问来源于stack exchange,提问作者abhishek Singh
相关产品推荐
相关产品推荐

