You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Superset是否支持MySQL 8作为元数据库?如何通过Helm Chart配置?

Superset MySQL 8元数据库配置(官方Helm Chart)

支持情况

Superset完全支持MySQL 8作为元数据库,只需配置正确的连接参数和依赖即可。

配置步骤(无需修改官方Chart文件)

所有配置通过Helm values覆盖实现:

1. 禁用内置PostgreSQL并配置MySQL连接

创建values-custom.yaml,写入以下内容:

# 关闭内置PostgreSQL实例
postgresql:
  enabled: false

# 配置Superset元数据库核心参数
superset:
  configOverrides:
    database: |
      # MySQL 8连接串,替换为你的实际信息
      SQLALCHEMY_DATABASE_URI = "mysql+mysqldb://DB_USER:DB_PASS@DB_HOST:3306/DB_NAME?charset=utf8mb4"
      # 适配MySQL 8认证插件,避免连接失败
      SQLALCHEMY_ENGINE_OPTIONS = {
        "connect_args": {"auth_plugin": "mysql_native_password"}
      }

# 覆盖默认的数据库连接参数(清理PostgreSQL残留配置)
supersetNode:
  connections:
    db_host: "DB_HOST"
    db_port: 3306
    db_user: "DB_USER"
    db_pass: "DB_PASS"
    db_name: "DB_NAME"

将DB_USER、DB_PASS、DB_HOST、DB_NAME替换为你的MySQL实际信息。

2. 移除PostgreSQL相关初始化容器

默认Chart会创建wait-for-postgres类容器,直接覆盖为空即可:

init:
  initContainers: []

如果需要等待Redis(使用内置Redis的场景),可以保留Redis等待容器:

init:
  initContainers:
    - name: wait-for-redis
      image: busybox:1.28
      command: ['sh', '-c', 'until nc -z redis 6379; do echo waiting for redis; sleep 2; done;']

3. 安装MySQL驱动依赖

官方Superset镜像默认不带MySQL驱动,通过初始化脚本安装:

superset:
  initScripts:
    install-mysql-deps.sh: |
      #!/bin/bash
      set -e
      apt-get update && apt-get install -y --no-install-recommends python3-dev default-libmysqlclient-dev build-essential
      pip install mysqlclient mysql-connector-python

4. 执行部署

运行Helm命令完成部署:

helm upgrade --install superset apache/superset -f values-custom.yaml

关键注意事项

  • 提前在MySQL 8中创建好指定的元数据库,确保Superset Pod能访问到MySQL实例(检查网络策略、安全组)。
  • MySQL 8默认使用caching_sha2_password认证,若连接报错,要么在连接串中指定auth_plugin=mysql_native_password,要么修改MySQL用户的认证方式为mysql_native_password。

内容的提问来源于stack exchange,提问作者Kevin Li

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 06:17:09