maxscale: внутренний сервер не принял аутентификацию для пользователя

На той же машине, где установлена ​​maxscale, соединение успешно, но при выполнении любого запроса оно показывает

ERROR 2013 (HY000): Lost connection to MySQL server during query

Журналы показывают это сообщение:

maxscale[]: Backend server didn't accept authentication for user 

я уже установил следующее в /etc/maxscale.cnf:

[Splitter Service]
enable_root_user=1
localhost_match_wildcard_host=1

ОС Ubuntu 16.04.2 LTS maxscale версия 2.0.5

1 ответ

Обычно это происходит, когда у пользователя есть права доступа на клиентском узле, но не на узле Maxscale, или разрешения не совпадают.

Как проверить соответствие моих пользователей?

Чтобы увидеть, какое пользовательское разрешение вы используете, выполните следующий SQL-запрос как с хоста MaxScale, так и с хоста клиента.

SELECT CURRENT_USER();

Это вернет пользователя, которого ваше клиентское соединение использует для подключения к MaxScale, и пользователя, которого MaxScale использует для подключения к самой базе данных.

Следующим шагом является проверка того, что разрешения для обоих пользователей схожи, выполнив следующий SQL.

SHOW GRANTS;

В MaxScale есть вспомогательный скрипт, который может быть использован, чтобы показать, каких пользователей и грантов нужно создать.

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