Как перезапустить MySQL Fabric с включенной аутентификацией?

Я работал над установкой MySQL Fabric и работал с параметром disable_authentication, равным yes:

...
[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 =
...

Я установил "нет" и побежал 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 без успеха.

Я мог бы просто убить процесс, но я хотел бы знать, как правильно перезапустить сервер, когда включена аутентификация.

1 ответ

Решение

После слесарного дела в коде для mysqlfabricЯ заметил, что это было похоже на mysqlfabric Утилита перечитывала недавно измененный конфигурационный файл, видя, что disable_authentication теперь было установлено "да", и, таким образом, удалялись все учетные данные, даже если я указал их в командной строке.

Насколько я могу сказать, работает mysqlfabric В экземпляре все еще были включены учетные данные, поэтому, когда он был представлен с очищенными учетными данными, он отказал в разрешении.

Решением было изменить конфигурационный файл обратно на disable_authentication = no, остановите сервер, затем отредактируйте файл конфигурации, чтобы отключить аутентификацию, и начните резервное копирование.

Урок Takeway:
Не изменяйте файл конфигурации Fabric во время его работы, обязательно остановите сервер, отредактируйте конфигурацию, а затем снова запустите его.

Пока я занимался этим, кажется, что если вам нужно указать имя пользователя / пароль, команда действительно:

mysqlfabric manage stop --user=<username>

Затем он запросит пароль.

Другие вопросы по тегам