【问题标题】:Metabase is not working (starting) with MySQL元数据库不能与 MySQL 一起工作(开始)
【发布时间】:2021-05-17 09:09:03
【问题描述】:

我阅读了有关 running metabase with docker from heresetting metabase up with mysql from here 的文档,并按照文档中的所有说明进行操作。

这是我用来运行元数据库的 docker-compose.yml 文件:

# docker-compose.yml
version: '3'
services:
  metabase:
    image: metabase/metabase:v0.39.1
    environment:
      - MB_DB_TYPE=mysql
      - MB_DB_DBNAME=metabase
      - MB_DB_PORT=3306
      - MB_DB_USER=secretuser
      - MB_DB_PASS=secretword
      - MB_DB_HOST=secrethost
    ports:
      - 3000:3000

当我运行docker-compose up 时,出现以下错误。

metabase_1  | 2021-05-17 08:27:59,084 ERROR metabase.core :: Metabase Initialization FAILED
metabase_1  | liquibase.exception.MigrationFailedException: Migration failed for change set migrations/000_migrations.yaml::1::agilliland:
metabase_1  |      Reason: liquibase.exception.DatabaseException: (conn=32027) Table 'core_organization' already exists [Failed SQL: CREATE TABLE `metabase`.`core_organization` (`id` INT AUTO_INCREMENT NOT NULL, `slug` VARCHAR(254) NOT NULL, `name` VARCHAR(254) NOT NULL, `description` TEXT NULL, `logo_url` VARCHAR(254) NULL, `inherits` BIT(1) NOT NULL, CONSTRAINT `PK_CORE_ORGANIZATION` PRIMARY KEY (`id`), UNIQUE (`slug`)) ENGINE InnoDB CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci]
metabase_1  |   at liquibase.changelog.ChangeSet.execute(ChangeSet.java:637)
..
..
metabase_1  | Caused by: java.sql.SQLException: Table 'core_organization' already exists
metabase_1  |   at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.readErrorPacket(AbstractQueryProtocol.java:1688)
metabase_1  |   at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.readPacket(AbstractQueryProtocol.java:1550)
metabase_1  |   at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.getResult(AbstractQueryProtocol.java:1513)
metabase_1  |   at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:256)
metabase_1  |   ... 57 more
metabase_1  | 2021-05-17 08:27:59,109 INFO metabase.core :: Metabase Shutting Down ...

我也尝试过直接运行而不使用 compose file 使用这个命令:

docker run -d -p 3000:3000 -e "MB_DB_TYPE=mysql" -e "MB_DB_DBNAME=metabase" \
-e "MB_DB_PORT=3306" -e "MB_DB_USER=secretuser" -e 'MB_DB_PASS=secretpass' \
-e "MB_DB_HOST=secrethost" --name metabase metabase/metabase:v0.39.1

我得到与撰写文件完全相同的错误。

在进一步搜索中,我发现了一个 similar issue in github 声明“表 'core_organization' 已经存在”,但是,他们声称它已经修复,但我仍然遇到问题。在他们建议的问题页面中:java -jar metabase.jar migrate force如何从 docker 运行它?

注意:我曾多次尝试删除所有表并从新架构开始,但效果不佳。

注意:我使用的数据库是 AWS RDS,只是为了确保它与 AWS 无关。

【问题讨论】:

    标签: mysql metabase


    【解决方案1】:

    问题的根源在于我没有在 AWS RDS 中进行 ALTER 和 REFERENCE 的权限。获得这些权限后,一切正常。

    【讨论】:

      猜你喜欢
      • 2013-08-21
      • 2018-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多