Как перезапустить 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>
Затем он запросит пароль.