2017-01-13 20 views
0

Я создал пользовательское демо и предоставил привилегии для 'demo' @ '%'. Я могу зайти с любого удаленного сервера, но когда я пытаюсь соединиться с локального хоста, я получаю сообщение об ошибке:Пользователь Mysql с привилегиями для входа из '%' не может зарегистрироваться с 'localhost'

Access denied for user '[email protected]'%''@'localhost' (using password: YES)

Это довольно странно для меня, так как «%», в соответствии с документацией, должен соответствовать любым IP-адрес. Очевидным решением является создание 2-го набора привилегий для «демонстрации» @ «localhost», но мне интересно, это так работает? Или это как-то связано с тем, как клиент mysql пытается подключиться к БД? (сетевой интерфейс loopback против реального сетевого интерфейса). Могу ли я подключиться от клиента mysql как 'demo' @ '%' от той же машины?

--edit--

Было высказано предположение, что мой вопрос такой же, как Are Users 'User'@'%' and 'User'@'localhost' not the same?, однако, это не так, потому что принятый ответ гласит:

[email protected]% would allow access from all locations.

в моем фактический случай, Пользователь @% разрешил бы доступ из всех мест кроме localhost. Потому что ответ приходит с 2012 года, и в то же время у нас есть филиал в MariaDB, я предоставить информацию о точной версии:

D:\xampp\mysql\bin>mysql --version mysql Ver 15.1 Distrib 
10.1.16-MariaDB, for Win32 (AMD64) 
+0

@Benjamin да, и теперь вопрос может быть другим, но принятый ответ не является ответом на мой вопрос. В ответе указывается, что «%» означает все местоположение, включая localhost, что, кажется, не так ... –

+0

'' user '@'% ''означает' user' со всех хостов. Возможно, вы используете неправильное имя пользователя/пароль, например 'demo_' для' demo'. или у вас уже есть другой пользовательский ''demo' @ localhost'' с другой привилегией. – bansi

+0

@ bansi no, я использовал то же имя пользователя и пароль, а не демонстрацию @ localhost user, просто «%» не соответствует «localhost». Но отсутствовали детали, я фактически использую MariaDB из пакета XAMPP, это может изменить многие вещи ... –

ответ

0

Попробуйте добавить skip-name-resolve опцию в разделе туздЫ в my.cnf. Возможно, есть проблема с разрешением «localhost». С помощью этой опции сервер использует только IP-адреса.

 Смежные вопросы

  • Нет связанных вопросов^_^