Skip to content

MySQL设置

社区插件

一些核心功能可能受到限制。如果您对贡献感兴趣,请查看下面列出的每个存储库的源代码。

dbt-mysql概要

  • Maintained by: 社区
  • Authors: Doug Beatty (https://github.com/dbeatty10)
  • GitHub repo: dbeatty10/dbt-mysql
  • PyPI package: dbt-mysql
  • Slack channel: #db-mysql-family
  • Supported dbt Core version: MySQL 5.7 and 8.0及以后
  • dbt Cloud support: 不支持
  • Minimum data platform version: v0.18.0

安装dbt-mysql

pip安装是最简便的方式:

pip install dbt-mysql

安装 dbt-mysql同样会安装 dbt-core 以及其它依赖项.

dbt-mysql配置

查看未来计划, 请参阅GitHub仓库: dbeatty10/dbt-mysql

这是一个实验性的插件: - 它还没有经过广泛的测试. - InnoDB以外的存储引擎未经测试. - 仅在dbt-adapter-tests以下版本经过测试: - MySQL 5.7 - MySQL 8.0 - MariaDB 10.5 - 与其他dbt packages (比如dbt_utils) 的兼容性也未经过测试.

请仔细阅读这些文档,并自行承担使用风险。IssuesPRs

使用dbt-mysql连接MYSQL

Mysql targets在profiles.yml文件中应该遵循以下配置

示便:

your_profile_name:
  target: dev
  outputs:
    dev:
      type: mysql
      server: localhost
      port: 3306
      schema: analytics
      username: your_mysql_username
      password: your_mysql_password
      ssl_disabled: True

MySQL Profile 字段详细说明

Option Description Required? Example
type 指定的适配器 必须 mysql, mysql5 or mariadb
server 连接服务器 必须 yourorg.mysqlhost.com
port 连接端口 可选 3306
schema 指定的schema(数据库) 必须 analytics
username 用户名 必须 dbt_admin
password 密码 必须 correct-horse-battery-staple
ssl_disabled 设置为启用或禁用到mysql5.x的TLS连接 可选 True or False

支持功能

MariaDB 10.5 MySQL 5.7 MySQL 8.0 功能
物化表
物化视图
增量
临时表
种子
Sources
自定义测试
生成文档
🤷 🤷 快照

注意

  • 临时表物化依赖于Common Table Expressions (CTEs), 但MySQL 8.0不支持.
  • MySQL 5.7有一些配置问题,可能会影响dbt快照无法正常工作 自动初始化和更新TIMESTAMP.
  • 如果SHOW VARIABLES LIKE 'sql_mode' 的输出包含 NO_ZERO_DATE. 解决方案是在.conf文件中包含以下内容:
    [mysqld]
    explicit_defaults_for_timestamp = true
    sql_mode = "ALLOW_INVALID_DATES,{other_sql_modes}"
    
  • 其中{other_sql_modes}SHOW VARIABLES LIKE 'sql_mode' 输出中的其余模式.