monetdb:为 monetdb 以外的用户正确创建和设置配置文件 .monetdb

monetdb: properly creating and setting the configuration file .monetdb for a user other than monetdb

我的目标是通过名为 jpriest 的新用户而不是默认用户 monetdb.

连接到名为 mydb 的新建数据库

根据这个问题 和提供的答案,我在当前工作目录中配置了一个包含以下内容的 .monetdb 文件:

user=jpriest
password=mypassword
language=sql 

但是我收到以下错误消息

InvalidCredentialsException:checkCredentials:invalid credentials for user 'jpriest'

我正在尝试关注 Getting Started 部分指出:

To connect/login to the database server the first time,
you must use monetdb as user name and enter its default password: monetdb.

Once connected you may create new users, create new schemas, create tables etc.
It is also strongly recommended to change the default password of the monetdb system user
via ALTER USER SET PASSWORD command.

由于我还没有成功,所以非常感谢任何帮助!

经过一番研究,我通过以下步骤解决了问题:

  1. 我删除了之前创建的 .monetdb 文件。
  2. 我通过以下方式创建了一个名为 mydbfarm 的 dbfarm:monetdbd create mydbfarm
  3. 我配置了 monetdb 守护程序 monetdbd,它服务于 mydbfarm 中的数据库连接,通过以下方式侦听端口 54321:monetdbd set port=54321 mydbfarm
  4. 我通过以下方式启动了名为 mydbfarm 的 dbfarm:monetdbd start mydbfarm
  5. 我通过以下方式创建了一个名为 mydb 的数据库:monetdb -p 54321 create mydb
  6. 我通过 monetdb -p 54321 release mydb
  7. 发布了 mydb
  8. 我开始 mydb 通过:monetdb -p 54321 start mydb
  9. 我通过 mclient -d mydb -p 54321 连接到 mydb thought mclient。我输入 monetdb 作为用户名,然后再次输入 monetdb 作为密码
  10. 如果所有步骤都正确完成,SQL 提示应该开始。
  11. 我继续使用以下命令创建一个 user jpriest with password monetdb, name inpapschema "sys" 通过:CREATE USER "jpriest" WITH PASSWORD 'monetdb' NAME 'inpap' SCHEMA "sys";
  12. 之后,我使用 \q 退出 sql 提示符并再次连接到 mydb,但这次使用我在第 10 步中创建的用户 jpriest 通过: mclient -d mydb -p 54321并输入 userjpriest passwordmonetdb
  13. 然后在sql提示符下,我们通过命令将用户jpriest的密码从monetdb更改为passALTER USER SET PASSWORD 'pass' USING OLD PASSWORD 'monetdb';
  14. 然后退出提示并创建内容为 .monetdb 的文件:
user=jpriest
password=pass
language=sql 

将允许您始终以 user jpriest 身份登录,并使用 password pass