如何重现我的问题
创建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测试连接:
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 )
cd monetdbtest
然后,我测试了与mclient的连接:
mclient -h localhost -p 50000 -d docker我被问到用户和密码,所以对于用户,我输入monetdb,对于密码,我输入docker。它可以工作,我在mclient中,能够执行SQL查询。
monetdbtest/目录中创建了一个monetdbtest/文件。看起来是这样的:user=monetdb
password=dockermclient -h localhost -p 50000 -d docker然而,我得到了这样的信息:'nvalidCredentialsException:checkCredentials:invalid credentials for user 'monetdb
我做了所有的事情,根据mclient手册。也许我漏掉了什么?
发布于 2022-01-31 14:32:14
您可能需要导出带有值DOTMONETDBFILE的环境变量/monetdbtest/.monetdb。请参阅mclient的手册页,特别是选项标题前面的段落。
https://stackoverflow.com/questions/70907086
复制相似问题