it-roy-ru.com

"Соединение для controluser как определено в вашей конфигурации не удалось" с phpMyAdmin в XAMPP

Я только что установил XAMPP на мой компьютер с Windows XP, и я получаю сообщение об ошибке:

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

До того, как я установил XAMPP, у меня была установлена ​​база данных MySQL и у нее был пароль. Я изменил и поместил пароль в config.inc.php для MySQL, и я получил эту ошибку: 

<?php
if (!empty($_SERVER['HTTPS']) && ('on' == $_SERVER['HTTPS'])) {
    $uri = 'https://';
} else {
    $uri = 'http://';
}
$uri .= $_SERVER['HTTP_Host'];
header('Location: '.$uri.'/xampp/');
exit;
?>

Когда я пытаюсь получить доступ к index.php, кажется, что-то не так с установкой XAMPP. Что я могу сделать, чтобы решить эту проблему?

116
user1410081
  1. Откройте phpMyAdmin в браузере и войдите в систему как root.
  2. Создайте базу данных с именем phpmyadmin
  3. Создайте пользователя с именем pma и задайте для «Host» имя хоста или IP-адрес вашего веб-сервера (если веб-сервер и MySQL находятся в одном поле, используйте localhost), запишите пароль и предоставьте новому пользователю полный доступ контроль над базой данных phpmyadmin. Рекомендуется, чтобы этот пользователь не имел доступа ни к чему, кроме этой базы данных.
  4. Перейдите в каталог установки phpMyAdmin, где вы должны найти подкаталог с именем sql.
  5. В sql вы найдете файл с именем create_tables.sql. Откройте его в текстовом редакторе.
  6. В phpMyAdmin выберите базу данных phpmyadmin и нажмите на вкладку «SQL».
  7. Скопируйте/вставьте весь текст из create_tables.sql в текстовое поле и выполните запрос.
  8. Откройте файл config.inc.php в каталоге установки phpMyAdmin и добавьте следующие строки (или измените существующие настройки, если они уже есть):

    $cfg['Servers'][1]['pmadb'] = 'phpmyadmin';
    $cfg['Servers'][1]['controluser'] = 'pma';
    $cfg['Servers'][1]['controlpass'] = '<your password>';
    
    // Note: The list below may grow as PMA evolves and more control tables are added
    // Use your common sense! Don't just blindly copypasta, look at what it means!
    $cfg['Servers'][1]['bookmarktable'] = 'pma_bookmark';
    $cfg['Servers'][1]['relation'] = 'pma_relation';
    $cfg['Servers'][1]['userconfig'] = 'pma_userconfig';
    $cfg['Servers'][1]['table_info'] = 'pma_table_info';
    $cfg['Servers'][1]['column_info'] = 'pma_column_info';
    $cfg['Servers'][1]['history'] = 'pma_history';
    $cfg['Servers'][1]['recent'] = 'pma_recent';
    $cfg['Servers'][1]['table_uiprefs'] = 'pma_table_uiprefs';
    $cfg['Servers'][1]['tracking'] = 'pma_tracking';
    $cfg['Servers'][1]['table_coords'] = 'pma_table_coords';
    $cfg['Servers'][1]['pdf_pages'] = 'pma_pdf_pages';
    $cfg['Servers'][1]['designer_coords'] = 'pma_designer_coords';
    
  9. Сохраните и закройте файл.

ВАЖНО- PMA загружает конфигурацию при входе в систему, оценивает ее и сохраняет в данных сеанса, поэтому сообщение не исчезнет, ​​пока вы не сделаете это:

  1. Выйдите из phpMyAdmin и войдите снова

Задача решена.

229
DaveRandom

Если вы попали сюда и используете Debian/Ubuntu (или любой другой дистрибутив на основе dpkg), выполните следующую команду:

Sudo dpkg-reconfigure phpmyadmin

Пакет phpmyadmin содержит скрипт для выполнения этой операции за вас, все, что ему нужно - это пользователь с разрешениями. Конечно, Sudo не требуется, если вы вошли в систему как root.

Правка: Возможно, стоит попытаться удалить текущего пользователя phpmyadmin.

123
Or Cohen

Просто закомментируйте целые блоки кода «Пользователь для расширенных функций» и «Расширенные функции phpMyAdmin» в config.inc.php.

22
streak

Это работало для меня с phpmyadmin под Ubuntu 16.04:

Я отредактировал /etc/phpmyadmin/config.inc.php и изменил следующие 2 строки:

$cfg['Servers'][$i]['controluser'] = 'root'; 
$cfg['Servers'][$i]['controlpass'] = 'thepasswordgiventoroot'; 
4
Dominique H.

На убунбту.

Сообщение Бена близко, но проблема не в пароле root, проблема, которую я обнаружил, заключалась в том, что я создал пароль для базы данных phpmyadmin, когда я его установил . Этот пароль не переносится в установку в Ubuntu, поэтому переменная $ DBPass = ''; в файле настроек базы данных пусто, а не пароль, который вы установили.

  1. Чтобы убедиться, что у вас есть правильный пароль, введите в командной строке mysql следующую команду: mysql -u phpmyadmin -p попробуйте ввести пустой пароль. Я обнаружил, что доступ запрещен, введите команду еще раз, используя пароль, который вы установили во время установки. Если он входит в систему, теперь вы знаете, какой пароль.
  2. Редактировать /etc/phpadmin/config-db.php и изменить $ dbpass = ''; to $ dbpass = 'Ваш пароль'; и сохранить файл.
  3. Изменить /etc/dbconfig-common/phpmyadmin.conf change dbc_dbpass = '' ; to dbc_dbpass = 'Ваш пароль'; и сохраните файл . Закройте браузер и перезагрузите, теперь вы обнаружите, что сообщение прошло.
3
Clive Wi

Вы недавно изменили свой корневой пароль MySQL Server? Если ответ ДА, то это является причиной ошибки/предупреждения внутри консоли phpMyAdmin. Чтобы решить эту проблему, просто отредактируйте файл config-db.php вашего phpMyAdmin и установите правильный пароль базы данных.

Первый ответ, на мой взгляд, слишком запутан, а второй ответ мне не помог. Так:

На серверах под управлением Linux файл обычно находится в:

/etc/phpmyadmin/config-db.php

или же:

/etc/phpMyAdmin/config-db.php

Пример: (Мой файл выглядел следующим образом, и я изменил пользователя с phpmyadmin на admin, имя пользователя, которое я создал для ведения своей базы данных через phpmyadmin, и ввел соответствующий пароль.

$dbuser='phpmyadmin';
$dbpass=''; // set current password between quotes ' '
$basepath='';
$dbname='phpmyadmin';
$dbserver='';
$dbport='';
$dbtype='mysql';

кредиты: http://tehnoblog.org/phpmyadmin-error-connection-for-controluser-as-defined-in-your-configuration-failed/

2
Ben

«Чтобы я снова заработал, я просто удалил файлы

ib_logfile0 и

ib_logfile1 .

от :

/ Приложения/MAMP/db/mysql56/ib_logfile0 "

На XAMPP его Xampp/xamppfiles/var/mysql

Получил это от PHP Предупреждение: mysqli_connect (): (HY000/2002): соединение отклонено

2
SoftwarerHelp

в Ubuntu /etc/phpmyadmin/config-db.php 

убедитесь, что пароль совпадает с вашим config.inc.php для управляющего пользователя 

также для Blowfish слишком короткая ошибка 

отредактируйте /var/lib/phpmyadmin/blowfish_secret.inc.php и увеличьте длину ключа 

0
Royce

Я была такая же проблема. В моем случае Mysql не был запущен после перезагрузки. как только я запустил mysql "сервис mysql start", все работало нормально.

0
Amir Khalil

на Ubuntu 18.04 в etc/phpmyadmin/config.inc.php комментировать все блоки 

Дополнительно: пользователь для расширенных функций

0
boaz

Проблема заключается в том, что пароль пользователя PhpMyAdmin (обычно: pma) не совпадает с паролем пользователя mysql: pma (того же пользователя).

Чтобы это исправить, 1. Установите пароль для пользователя pma здесь:

"C:\XAMPP\PHPMYADMIN\config.inc.php"

$ cfg ['Servers'] [$ i] ['controlpass'] = 'your_new_phpmyadmin_pass'; 

(должно быть как в строке 32)

Затем перейдите к mysql, войдите как root, перейдите по адресу: (я использовал phpmyadmin, чтобы перейти сюда)

База данных: mysql »Таблица: пользователь

Отредактируйте пользователя: pma

Выберите «Пароль» из списка функций (левый столбец) и установите «your_new_phpmyadmin_pass» в правом столбце и нажмите «Перейти».

Перезапустите сервер MySQL.

Теперь сообщение должно исчезнуть.

0
Tarik

Я просто делаю изменения в файле config.inc.php. В этой ссылке ошибочно указан пароль $ cfg ['Servers'] [$ i] ['password'] = 'ваш пароль'; и теперь его отлично сработало.

0
Mohit Sharma