Назад | Перейти на главную страницу

Команда MySQL добавляет к имени пользователя '@localhost'

Я просто не могу понять этого.

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

При использовании команды: mysql -h <hostname> -u <username> -p, Я получаю следующую ошибку:

ERROR 1045 (28000): Access denied for user '<username>'@'<local_machine_hostname>' (using password: YES)

Проблема в том, что он продолжает добавлять имя хоста текущего компьютера к имени пользователя. Очевидно, что user@<local_machine_hostname> не является правильным.

Неважно, что я набираю. Например, если я наберу:

mysql -h <hostname> -u '<username>'@'<hostname>' -p

Он делает то же самое, только в выводе ошибки он говорит:

Access denied for user '<username>@<hostname>'@'<local_machine_hostname>'

Есть ли параметр в файле конфигурации, который позволяет этому случиться? Это действительно очень раздражает. Мне нужно настроить сервер tikiwiki, и он не может подключиться, потому что на этапе настройки mysql он продолжает добавлять имя хоста локального компьютера к имени входа mysql.

Разрешения MySQL зависят от хоста. Когда вы СОЗДАЕТЕ ПОЛЬЗОВАТЕЛЯ (или ПРЕДОСТАВЛЯЕТЕ) пользователя, вы указываете имя хоста. Это может быть «%», «localhost» или любой другой IP-адрес или имя хоста. Это функция безопасности. Вы хотите, чтобы это произошло. Он не «добавляет» имя хоста к имени пользователя, когда сообщает вам об отказе в доступе. Каждый хранится в разных столбцах таблицы mysql.users. Если вы хотите иметь возможность входить в MySQL со своего компьютера в качестве этого пользователя, вам необходимо предоставить этому пользователю доступ с вашего компьютера ...

Из Документы MySQL по CREATE USER:

Каждая учетная запись названа в том же формате, что и для оператора GRANT; например, "Джеффри" @ "localhost". Если вы указываете только часть имени пользователя в имени учетной записи, используется часть имени хоста «%». Для получения дополнительной информации об указании имен учетных записей см. Раздел 12.4.1.3, «Синтаксис GRANT».