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. Я решил проблему, следуя инструкциям на этом видео.
- Перейдите в phpmyadmin-fixer и выполните соответствующую команду.
- Перезапустите серверы Apache, NGINX и MySQL.
- Это!
Ответ 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 решит эту проблему.