phpMyAdmin ERROR: mysqli_real_connect(): (HY000/1045): Доступ запрещен для пользователя 'pma' @'localhost' (с использованием пароля: НЕТ)

Пожалуйста, не помечайте это как дубликат, я не могу найти ответ нигде, я не знаю, что еще делать.

Я продолжаю получать следующие ошибки с подключением MySQL через XAMPP, и я не знаю, что делать:

enter image description here

Это код в config.inc.php

<?php
/*
 * This is needed for cookie based authentication to encrypt password in
 * cookie
 */
$cfg['blowfish_secret'] = 'xampp'; /* YOU SHOULD CHANGE THIS FOR A MORE 
SECURE COOKIE AUTH! */

/*
 * Servers configuration
 */
$i = 0;

/*
* First server
*/
$i++;

/* Authentication type and info */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
$cfg['Lang'] = '';

/* Bind to the localhost ipv4 address and tcp */
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['connect_type'] = 'tcp';

/* User for advanced features */
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = '';

/* Advanced phpMyAdmin features */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['designer_coords'] = 'pma__designer_coords';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';

/*
 * End of servers configuration
 */

?>

Я уже два раза сбрасывал пароль от MySql из командной строки и добавлял изменения в этот код выше и в файл php.ini, но каждый раз возвращался к ошибке. Любая помощь?

Ответ 1

Вам нужно создать пользователя "pma" в MySQL или изменить следующие строки (имя пользователя и пароль для MySQL):

/* User for advanced features */
$cfg['Servers'][$i]['controluser'] = 'pma'; 
$cfg['Servers'][$i]['controlpass'] = '';

Linux: /etc/phpmyadmin/config.inc.php

Ответ 2

Добавьте эту строку в файл xampp\phpMyAdmin\config.inc:

$cfg['Servers'][$i]['port'] = '3307';

Здесь мой порт 3307, вы можете изменить его на свой.

Ответ 3

В терминале войдите в MySQL как пользователь root. Возможно, вы создали пароль root, когда устанавливали MySQL в первый раз, или пароль может быть пустым, и в этом случае вы можете просто нажать клавишу ВВОД при запросе пароля.

 sudo mysql -p -u root

Теперь добавьте нового пользователя MySQL с выбранным вами именем пользователя. В этом примере мы называем это pmauser (для пользователя phpmyadmin). Обязательно замените password_here своим собственным. Вы можете создать пароль здесь. Символ% здесь говорит MySQL разрешить этому пользователю входить из любого места удаленно. Если вам нужна повышенная безопасность, вы можете заменить ее на IP-адрес.

CREATE USER 'pmauser'@'%' IDENTIFIED BY 'password_here';

Теперь мы предоставим привилегию суперпользователя нашему новому пользователю.

GRANT ALL PRIVILEGES ON *.* TO 'pmauser'@'%' WITH GRANT OPTION;

Затем перейдите в config.inc.php (в Ubuntu,/etc/phpmyadmin/config.inc.php)

/* Пользователь для расширенных функций */

$cfg['Servers'][$i]['controluser'] = 'pmauser'; 
$cfg['Servers'][$i]['controlpass'] = 'password_here';

Ответ 4

Добавьте эти строки в файл xampp\phpMyAdmin\config.inc:

$cfg['Servers'][$i]['controluser'] = 'root'; 
$cfg['Servers'][$i]['controlpass'] = '';

Ответ 5

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

sudo /Applications/XAMPP/xamppfiles/xampp security 

Установите свой пароль на вопросы, которые вы получите.

В вашем phpmyadmin импортируйте файл "create_tables.sql".. Который можно найти в папке. /phpmyadmin/sql.

Затем откройте файл config.inc.php в папке ./phpmyadmin.

$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'you_password';

Обязательно выйдите и войдите, чтобы отразить изменения в phpmyadmin.

Ответ 6

Я испытал те же ошибки на новой установке VestaCP. Я решил проблему, следуя инструкциям на этом видео.

  1. Перейдите в phpmyadmin-fixer и выполните соответствующую команду.
  2. Перезапустите серверы Apache, NGINX и MySQL.
  3. Это!

Ответ 7

рассмотрите возможность изменения записи узла 127.0.0.1 на localhost или даже на IP-адрес сервера.

$cfg['Servers'][$i]['host']

Ответ 8

Может быть, опоздал на вечеринку - также, этот ответ для пользователей LAMP, которые, как и я, попали в эту ветку от Google.

По сути, проблема в том, что PMA пытается подключиться к SQL с пользователем, которого не существует.

В /etc/phpmyadmin/config-db.php вы найдете 2 переменные: $ dbuser и $ dbpass. Они указывают пользователя MySQL и пароль, с которым пытается связаться PMA.

Теперь соединитесь с некоторым именем пользователя/паролем, которые работают (или просто "root", если вы подключаетесь с локального хоста), создайте нового пользователя с глобальными привилегиями (например, -% PMA User% с паролем% Some Random Password%), затем в вышеупомянутый набор файлов:
$ dbuser =% PMA User%;
$ dbpass =% некоторый случайный пароль%;

Там вы также можете изменить другие данные, такие как адрес сервера ($ dbserver), порт ($ dbport, который может не быть адресом по умолчанию на вашем компьютере) и многое другое.

Ответ 9

Linux/Ubuntu: Если установлен phpmyadmin через apt: sudo apt-get install phpmyadmin php-mbstring

Можно проверить /etc/phpmyadmin/config-db.php на предмет изменения учетных данных пользователя.

$dbuser='pma';
$dbpass='my_pass';
$basepath='';
$dbname='phpmyadmin';
$dbserver='localhost';
$dbport='3306';
$dbtype='mysql';

Ответ 10

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

$cfg['Servers'][$i]['port'] = '8111';

в config.inc.php. Если вы используете другой номер порта, установите свой. Надеюсь, это поможет!

Ответ 11

Не удалось установить соединение для controluser, как определено в вашей конфигурации, сразу после:

$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'you_password';

Ответ 12

если ваш порт 3307 (в зависимости от вашего порта)

Добавьте эту строку в xampp\phpMyAdmin\config.inc: после i++

$cfg['Servers'][$i]['port'] = '3307';

Ответ 13

переустановка xammp решит эту проблему.