Доступ к соединителю ODBC запрещен для пользователя со ВСЕМИ привилегиями - PullRequest
0 голосов
/ 07 июня 2018

Я пытаюсь «протестировать» ODBC Connector 5.3, и он дает мне «доступ» для пользователя [username] @localhost (используя пароль: YES) ».Однако, когда я смотрю на пользовательские таблицы, я вижу GRANT ALL PRIVILEGES ON *.* TO [username]@'%' IDENTIFIED BY PASSWORD 'xxxx' WITH GRANT OPTION.

. Я чувствую, что все привилегии должны быть предоставлены этой строкой.Чего мне не хватает?

1 Ответ

0 голосов
/ 07 июня 2018

Это распространенная ошибка, поскольку доступ к MySQL ограничен клиентским хостом в сочетании с учетными данными имени пользователя и пароля, и доступ должен быть специально предоставлен, как описано в документации MySQL .Обратите внимание, что localhost является особым случаем, который не указан подстановочным знаком GRANT -

Если вы не можете понять, почему вы получаете Access denied, удалите из таблицы userвсе строки, которые имеют Host значения, содержащие подстановочные знаки (строки, содержащие '%' или '_' символы).Очень распространенная ошибка - вставить новую строку с Host='%' и User='some_user', полагая, что это позволяет указать localhost для подключения с того же компьютера.Причина, по которой это не работает, состоит в том, что привилегии по умолчанию включают строку с Host='localhost' и User=''.Поскольку эта строка имеет значение Host 'localhost', которое является более конкретным, чем '%', она используется вместо новой строки при подключении из localhost!Правильная процедура - вставить вторую строку с помощью Host='localhost' и User='some_user' или удалить строку с помощью Host='localhost' и User=''.После удаления строки не забудьте выполнить оператор FLUSH PRIVILEGES для перезагрузки таблиц предоставления.См. Также Раздел 6.2.6, «Контроль доступа, этап 1: проверка соединения» .

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