mysql - mysql数据库如何连接superset?

标签 mysql sqlalchemy apache-superset

我尝试使用此 SQLAlchemy URI 将超集与 mysql 数据库连接:mysql://localhost:3306/mysql/database/table1 但无法连接。

我遇到了这个错误:

ERROR: {"error": "Connection failed!

The error message returned was:
No module named 'MySQLdb'", "stacktrace": "Traceback (most recent call last):
  File \"/Users/akay/venv/lib/python3.7/site-packages/superset/views/core.py\", line 1703, in testconn
    engine = database.get_sqla_engine(user_name=username)
  File \"/Users/akay/venv/lib/python3.7/site-packages/superset/utils/core.py\", line 131, in __call__
    value = self.func(*args, **kwargs)
  File \"/Users/akay/venv/lib/python3.7/site-packages/superset/models/core.py\", line 923, in get_sqla_engine
    return create_engine(url, **params)
  File \"/Users/akay/venv/lib/python3.7/site-packages/sqlalchemy/engine/__init__.py\", line 479, in create_engine
    return strategy.create(*args, **kwargs)
  File \"/Users/akay/venv/lib/python3.7/site-packages/sqlalchemy/engine/strategies.py\", line 87, in create
    dbapi = dialect_cls.dbapi(**dbapi_args)
  File \"/Users/arkay/venv/lib/python3.7/site-packages/sqlalchemy/dialects/mysql/mysqldb.py\", line 118, in dbapi
    return __import__(\"MySQLdb\")
    ModuleNotFoundError: No module named 'MySQLdb'
"}

有什么方法可以连接到 MySQL 数据库吗?

最佳答案

MySQLdb 不兼容 Python 3,你需要使用 pymysql。

安装pymysql:

$ pip install pymysql

使用以下 URI 字符串连接到 mysql 数据源。

mysql+pymysql://user:pass@host/databasename

关于mysql - mysql数据库如何连接superset?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61222772/

相关文章:

mysql - 带有 MySQL 的 AWS Ubuntu 服务器

php - 使用 PHP 从关系数据库获取数据时出错

javascript - 防止 JavaScript 注入(inject)

python - 用于从 JSON-esque 值生成 SQLAlchemy 查询的工具?

python - 外部文件中的 SQLAlchemy 枚举

solr - 有没有办法让 apache Solr 后端用于 Superset?

apache-superset - 带有时区列的日期时间的apache超集查询错误

php - $ROW = 未定义?

python - 为什么 SQLAlchemy InstrumentedList 的顺序不持久?

apache-superset - 如何将 apache 超集直接与 google BigQuery 连接?