При попытке входа в phpMyAdmin имя пользователя всегда добавляется с «@[текущее имя хоста]»

#phpmyadmin

#phpmyadmin

Вопрос:

Независимо от того, какие у меня параметры конфигурации в config.inc.php есть, я не могу войти в MariaDB на другом сервере, поскольку имя пользователя всегда добавляется автоматически с помощью «@» и «host1» (текущее имя хоста).

Допустим, мой phpMyAdmin запущен на host1, а MariaDB — на host2. Я открываю phpMyAdmin в браузере на host1 и пытаюсь войти в систему с root и его правильным паролем, однако я получаю ошибку, такую как:

#1045 — Доступ запрещен для пользователя ‘root’ @’host1′ (с использованием пароля: ДА)

Конечно, он не может войти с root @host1, поскольку база данных находится на host2!

Если я пытаюсь указать имя пользователя как root @host2, я получаю:

#1045 — Доступ запрещен для пользователя ‘root @host2’@ ‘host1’ (с использованием пароля: ДА)

Ответ №1:

Это другой день, и теперь все ясно.

Прежде всего, я не могу заставить phpMyAdmin не добавлять «@» и текущее имя хоста к введенному или указанному имени пользователя (которое я вроде как знал с самого начала).

Во-вторых, все пользователи в базе данных MariaDB (или MySQL) имеют формат «user@hostname».

Итак, единственный способ войти с host1 в базу данных на host2, в базе данных должен быть пользователь с хостом host2. Это означает, что в таблице mysql.user должна быть запись, в данном случае root@host2, или со столбцом user, имеющим значение root, и host, имеющим значение «%», что является символом подстановки, означающим любой хост.