Подтвердить что ты не робот

Fix Access запрещен для пользователя 'root' @'localhost' для phpMyAdmin

Я использую WAMP Server 2.2 на ПК. В phpMyAdmin (версия 5.5.24) я отредактировал пользователя root (с хостом localhost) и дал ему пароль "root". Это оказалось большой ошибкой, которую я пытаюсь вернуть. Теперь, когда я перехожу к localhost/phpmyadmin/, я получаю меню баз данных слева, но в главном фрейме появляется сообщение об ошибке:

#1045 - Access denied for user 'root'@'localhost' (using password: NO)
phpMyAdmin tried to connect to the MySQL server, and the server rejected the 
connection. You should check the host, username and password in your 
configuration and make sure that they correspond to the information given 
by the administrator of the MySQL server.

Если я перейду к 127.0.0.1/phpmyadmin, я не получу ошибку, и все будет хорошо.

Я попробовал изменить пароль пользователя без пароля; Я попытался изменить файл config.inc.php, чтобы добавить новый пароль (но это полностью исключало phpMyAdmin); Я попытался удалить и воссоздать пользователя root/localhost. Ничто не работает. У пользователя root/localhost нет пароля и всех привилегий, но ошибка остается.

Любые идеи или как я могу заставить этого пользователя вернуться к нормальной работе без переустановки WAMP?

4b9b3361

Ответ 1

Найти config.inc файл под C:\wamp\apps\phpmyadmin3.5.1 Внутри этого файла найдите  эта одна строка

$cfg['Servers'][$i]['password'] =";

и замените его на

$cfg['Servers'][$i]['password'] = 'Type your root password here';

Ответ 2

У меня была такая же проблема после того, как я изменил пароли в базе данных.. что я сделал редактирование обновленного пароля я изменил ранее, и я не обновлялся в config.inc.php и том же имени пользователя под D:\xamp\phpMyAdmin\config.inc

$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = **'root'**;
$cfg['Servers'][$i]['password'] = **'epufhy**';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
$cfg['Lang'] = '';

Ответ 3

После того, как я изменил пароль для своего "root" на странице phpMyAdmin, у меня была такая же проблема, и я также искал решения из Интернета, но не смог получить ответ, который мне нужен, поэтому я проверяю документацию внутри каталога phpMyAdmin.

Перейдите к файлу и отредактируйте его

\modules\phpmyadmin414x140123114237\config.sample.inc.php

найдите строку

$cfg['Servers'][$i]['auth_type'] = 'config'

и измените 'config' на 'http', и это позволит вам ввести имя пользователя и пароль при переходе на страницу phpMyAdmin с помощью браузера.

ИЛИ

см. файл документации в том же каталоге phpMyAdmin (phpmyadmin414x140123114237\doc\html) для получения справки и поиска $cfg['Servers'][$i]['auth_type'], и вы увидите 4 варианта выбора того, как войти на страницу phpMyAdmin.

Ответ 4

Ну.. Это кажется мне очень странным, но это внезапно сработало!

То, что я сделал, было именно:

  • Переместился в папку phpMyAdmin и отредактировал файл "config.inc.php"
  • Посмотрел на строку: $cfg ['Servers'] [$ i] ['password'] = '';
  • Добавлен пароль между '', пусть скажем '1234'
  • Перезагрузка localhost/phpmyadmin и 127.0.0.1/phpmyadmin (обе показали ту же ошибку)
  • Вернул "config.inc.php" в старое состояние (удалил пароль)
  • Повторный шаг 4

И вдруг это сработало!

Ответ 5

с использованием $cfg['Servers'][$i]['auth_type'] = 'config'; небезопасно, я думаю.

использование файлов cookie с $cfg['Servers'][$i]['auth_type'] = 'cookie'; лучше, я думаю.

Я также добавил:

$cfg['LoginCookieRecall'] = true;

$cfg['LoginCookieValidity'] = 100440;

$cfg['LoginCookieStore'] = 0;  //Define how long login cookie should be stored in browser. Default 0 means that it will be kept for existing session. This is recommended for not trusted environments.
$cfg['LoginCookieDeleteAll'] = true; //If enabled (default), logout deletes cookies for all servers, otherwise only for current one. Setting this to false makes it easy to forget to log out from other server, when you are using more of them.

Я добавил это в phi.ini

session.gc_maxlifetime=150000

Ответ 6

Если у вас есть существующий пароль для mysql, напишите, как указано ниже:

Найти файл config (dot) inc в C:\wamp\apps\phpmyadmin3.5.1 Внутри этого файла найдите одну строку

$cfg['Servers'][$i]['password'] =";

и замените его на

$cfg['Servers'][$i]['password'] = **'your-password'**;

Ответ 7

@Дагон имел правильную идею, но был немного короче в деталях.

Если вы используете доступ 127.0.0.1/phpmyadmin и внимательно посмотрите на Пользователи, которые настроены в MysQL, вы должны увидеть 3 версии имени пользователя root.

Это связано с тем, что в MySQL каждый идентификатор пользователя связан с HOST, то есть с ПК (IP-адрес), с которого пользователю разрешен вход. Таким образом, ваши 3 `` корневые userid на самом деле являются тем же самым идентификатором пользователя, который разрешен для входа из 3 отдельных HOSTS. Обычно из коробки "root" имеет 3 установки HOSTS, 127.0.0.1, localhost и:: 1

Это: -

localhost - это псевдоним для ЭТОГО МАШИНЫ, созданного из вашего файла HOSTS (c:\windows\system32\drivers\etc\hosts)

127.0.0.1 - IP-адрес IPv4 loopback ЭТА МАШИНЫ

:: 1 - IP-адрес IPv6 loopback ЭТА МАШИНЫ

Что, вероятно, происходит с вами, так это то, что вы установили пароль для [email protected], но не для других. Теперь ваш браузер "arbtrarily" решит использовать:: 1 или 127.0.0.1 в качестве IP-адреса хоста, поэтому, когда он использует:: 1, ваш логин будет терпеть неудачу.

Итак, войдите с помощью 127.0.0.1/phpmyadmin и измените все 3 'корневые' имена пользователей, чтобы иметь тот же пароль, что вы больше не должны видеть эту проблему.

Также убедитесь, что ваш файл HOSTS имеет эти 2 записи

127.0.0.1  localhost
::1        localhost

Ответ 8

Чтобы устранить ошибку выше: -

a)  Open Mysql console from the tray of WAMP server

b)  It will ask for password(you might have set this password earlier when u installed MySql in your system)(In my case it is admin)

c)  Enter admin (press enter)

Теперь это означает, что ваш phpmyadmin не принимает пароль для вашего MySql и не может подключиться к MySql, но вы можете подключить свой MySql-сервер, указав пароль

For this Open config.inc file from the below path
C:\wamp\apps\phpmyadmin4.1.14

И замените эту строку

$cfg['Servers'][$i]['password'] =’ ’;
to `$cfg['Servers'][$i]['password'] = 'admin';`

Я надеюсь, что это сработает.

Ответ 9

Что сработало для меня:

Перейдите в config.inc.php

Измените $cfg ['Servers'] [$ i] ['AllowNoPassword'] = true; в $ cfg ['Servers'] [$ i] ['AllowNoPassword'] = false;

Изменить $cfg ['Servers'] [$ i] ['password'] = '';

to

$cfg ['Servers'] [$ i] ['password'] = '';

Измените

$cfg ['Servers'] [$ i] ['auth_type'] = 'config';

to

$cfg ['Servers'] [$ i] ['auth_type'] = 'http';

Обновить страницу http://localhost/phpmyadmin

Тип: корень pass: (пусто)

Теперь у вас есть доступ к нему.:)

Ответ 10

Найдите файл config.inc.php под C:\xampp\phpMyAdmin и откройте его в любом редакторе. Найдите следующую строку:

$cfg['Servers'][$i]['password'] = '  ';

Введите выбранный пароль внутри кавычек. Кроме того, чтобы localhost/phpmyadmin запрашивал имя пользователя и пароль, найдите следующую строку:

$cfg['Servers'][$i]['auth_type'] = 'config';

Измените приведенную выше строку на:

$cfg['Servers'][$i]['auth_type'] = 'cookie';

Ответ 11

XAMPP\PhpMyAdmin/config.inc

Поиск -

$cfg ['Servers'] [$ i] ['auth_type'] = 'config'

и измените "config" на "http", и это позволит вам вводить имя пользователя и пароль при переходе на страницу phpMyAdmin с помощью вашего браузера.

Ответ 12

Также обратите внимание на то, что "setup" (то есть localhost/phpmyadmin/setup) имеет ошибку в том, как он обрабатывает параметр "no password". Пока он создает строку, которая гласит:

$cfg['Servers'][$i]['nopassword'] = true;

фактическое имя параметра должно быть таким, как показано ниже:

$cfg['Servers'][$i]['AllowNoPassword'] = true;

Эта ошибка "установки" существует на сегодняшний день, 20 октября 2015 г.

Ответ 13

Попробуйте найти $cfg ['Servers'] [$ i] ['password'] = ''; в файле конфигурации находится файл wamp/scripts/config.inc.php

Затем установите пароль для пароля mysql и обновите PhpmyAdmin

Ответ 14

Я также столкнулся с этой проблемой,

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

Ответ 15

Я использую этот URL для ввода phpMyAdmin http://localhost:2145/phpmyadmin, но получаю следующую ошибку:
   "phpMyAdmin попытался подключиться к серверу MySQL, и сервер отклонил соединение. Вы должны проверить хост, имя пользователя и пароль в своей конфигурации и убедиться, что они соответствуют информации, предоставленной администратором сервера MySQL"
мой файл config.inc.php

$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['host'] = 'localhost:2145';
$cfg['Servers'][$i]['connect_type'] = 'cookie';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = true;
/* User used to manipulate with storage */
// $cfg['Servers'][$i]['controlhost'] = '';
// $cfg['Servers'][$i]['controlport'] = '';
$cfg['Servers'][$i]['controluser'] = '';
$cfg['Servers'][$i]['controlpass'] = '';

это изменение разрешит ошибку для меня

$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = true;

а затем

sudo service mysql stop
/opt/lampp/lampp start

и проблема решена