首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用正式停靠程序映像和.monetdb文件时,用户“monetdb”的凭据无效

在使用正式停靠程序映像和.monetdb文件时,用户“monetdb”的凭据无效
EN

Stack Overflow用户
提问于 2022-01-29 15:46:31
回答 1查看 151关注 0票数 2

如何重现我的问题

创建MonetDB容器

我有这个设置(使用带有Desktop的窗口)。

使用follwing 命令创建

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

解释了命令的作用:创建了一个monetdb容器,其中包含一个名为“docker”的数据库,并将密码'docker‘应用于名为'monetdb’的默认用户。它还将我的目录monetdbtest/装载到容器中。

用DBeaver测试容器

我使用以下凭据使用DBeaver测试连接:

代码语言:javascript
复制
JDBC URL: jdbc:monetdb://localhost:50000/docker
host: localhost
port: 50000
Database/schema: docker
username: monetdb
password: docker

这很好,我可以连接,并且可以用dbeaver执行sql查询。

在容器中使用mclient发送查询

我使用以下命令作为根用户输入容器:docker exec -u root -t -i nostalgic_hodgkin /bin/bash (用随机生成的容器名替换nostalgic_hodgkin )

  1. 我导航到我的挂载目录

cd monetdbtest

然后,我测试了与mclient的连接:

代码语言:javascript
复制
mclient -h localhost -p 50000 -d docker

我被问到用户和密码,所以对于用户,我输入monetdb,对于密码,我输入docker。它可以工作,我在mclient中,能够执行SQL查询。

  1. 因为我不想总是输入用户名和密码,所以我在monetdbtest/目录中创建了一个monetdbtest/文件。看起来是这样的:
代码语言:javascript
复制
user=monetdb
password=docker
  1. 现在,我应该能够使用mclient命令,而无需输入用户信息。所以我输入这个命令:
代码语言:javascript
复制
mclient -h localhost -p 50000 -d docker

然而,我得到了这样的信息:'nvalidCredentialsException:checkCredentials:invalid credentials for user 'monetdb

我做了所有的事情,根据mclient手册。也许我漏掉了什么?

EN

回答 1

Stack Overflow用户

发布于 2022-01-31 14:32:14

您可能需要导出带有值DOTMONETDBFILE的环境变量/monetdbtest/.monetdb。请参阅mclient的手册页,特别是选项标题前面的段落。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70907086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档