簡體   English   中英

使用官方 docker 映像和 a.monetdb 文件時用戶“monetdb”的憑據無效

[英]invalid credentials for user 'monetdb' when using the official docker image and a .monetdb file

如何重現我的問題

創建 MonetDB 容器

我有這個設置(使用 windows 和 Docker 桌面)。

使用以下命令創建官方 monetdb docker 容器

docker run -v $HOME/Desktop/monetdbtest:/monetdbtest -e 'MONET_DATABASE=docker' -e 'MONETDB_PASSWORD=docker' -p 50000:50000 -d topaztechnology/monetdb:latest

解釋命令的作用:創建一個帶有名為“docker”的數據庫的 monetdb 容器,並將密碼“docker”應用於名為“monetdb”的默認用戶。 它還將我的目錄monetdbtest/掛載到容器中。

使用 DBeaver 測試容器

我使用帶有以下憑據的 DBeaver 測試連接:

JDBC URL: jdbc:monetdb://localhost:50000/docker
host: localhost
port: 50000
Database/schema: docker
username: monetdb
password: docker

這工作正常,我能夠連接並可以使用 dbeaver 執行 sql 查詢。

在容器內使用 mclient 發送查詢

我使用以下命令以 root 身份輸入容器: docker exec -u root -t -i nostalgic_hodgkin /bin/bash (將 nostalgic_hodgkin 替換為您隨機生成的容器名稱)

2. 我導航到我的掛載目錄

cd monetdbtest

然后我測試與 mclient 的連接:

mclient -h localhost -p 50000 -d docker

我被要求輸入用戶名和密碼,所以對於用戶我輸入monetdb密碼我輸入docker 它有效,我在 mclient shell 中,能夠執行 SQL 查詢。

3. 由於我不想總是輸入用戶名和密碼,我在monetdbtest/目錄中創建了一個.monetdb文件。 它看起來像這樣:

user=monetdb
password=docker
  1. 現在我應該可以在不輸入用戶信息的情況下使用 mclient 命令了。 所以我輸入這個命令:
mclient -h localhost -p 50000 -d docker

但是我收到消息: 'nvalidCredentialsException:checkCredentials:invalid credentials for user 'monetdb


我按照mclient 手冊做了一切。 也許我錯過了什么?

您可能需要導出環境變量DOTMONETDBFILE ,其值為/monetdbtest/.monetdb 請參閱 mclient 的手冊頁,尤其是 OPTIONS 標題之前的段落。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM