如何在启用身份验证的情况下重启 MySQL Fabric?

How to restart MySQL Fabric with authentication enabled?

我正在进行 MySQL Fabric 安装,并且一直在 disable_authentication 设置为是:

...
[protocol.xmlrpc]
address = 0.0.0.0:32274
threads = 5
user = admin
password = hunter2
disable_authentication = yes
realm = MySQL Fabric
ssl_ca =
ssl_cert =
ssl_key =
...

我设置为'no',运行mysqlfabric manage stop然后mysqlfabric manage start --daemonize。客户端应用程序坏了,所以我将 disable_authentication 设置回 'yes' 并再次 运行 mysqlfabric stop 重新启动它,但我得到:

Permission denied.

我查看了本地和在线的文档,但没有看到任何将用户名和密码传递给 mysqlfabric 实用程序的方法。我试过 -u -p 和 MySQL、--user--password 一样,但没有用。后者给出

mysqlfabric: error: no such option: --password

这似乎表明 --user 是一个有效的选项,但我尝试了 --pass-p 但没有成功。

我可能只是终止进程,但我想知道如何在启用身份验证时干净地重新启动服务器。

在研究 mysqlfabric 的代码后,我注意到 mysqlfabric 实用程序似乎正在重新读取新修改的配置文件,看到 disable_authentication 是现在设置为 'yes',从而清除所有凭据,即使我在命令行中指定了它们。

据我所知,运行 mysqlfabric 实例仍然启用了凭据,因此当向它提供已清除的凭据时,它拒绝了许可。

解决方案是将配置文件更改回 disable_authentication = no,停止服务器,然后编辑配置文件以禁用身份验证,然后重新启动。

要点课:
不要在 运行 时修改 Fabric 配置文件,确保停止服务器,编辑配置,然后重新启动它。

虽然我在做,但似乎如果你确实需要指定一个username/password,命令确实是:

mysqlfabric manage stop --user=<username>

然后会提示输入密码。