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

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

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

До того, как я установил 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. Что я могу сделать, чтобы исправить эту проблему?

Ответ 1

  • Откройте phpMyAdmin в браузере и войдите в систему с правами root.
  • Создайте базу данных под названием phpmyadmin
  • Создайте пользователя с именем pma и установите "хост" на имя хоста или IP-адрес вашего веб-сервера (если веб-сервер и MySQL находятся в одном и том же поле, используйте localhost), запишите пароль, и предоставить новому пользователю полный контроль над базой данных phpmyadmin. Рекомендуется, чтобы этот пользователь не имел доступа к чему-либо другому, кроме этой базы данных.
  • Перейдите в каталог установки phpMyAdmin, где вы должны найти подкаталог sql.
  • В sql вы найдете файл под названием create_tables.sql. Откройте его в текстовом редакторе.
  • В phpMyAdmin выберите базу данных phpmyadmin и нажмите вкладку "SQL".
  • Скопируйте/вставьте весь текст из create_tables.sql в текстовое поле и запустите запрос.
  • Откройте файл 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';
    
  • Сохраните и закройте файл.

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

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

Проблема решена.

Ответ 2

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

sudo dpkg-reconfigure phpmyadmin

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

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

Ответ 3

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

Ответ 4

На Убунбту.

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

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

Ответ 5

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

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

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

Ответ 6

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

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

В 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/

Ответ 7

Проблема заключается в том, что пароль пользователя 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" в правом столбце и нажмите "go".

Перезагрузите сервер mysql.

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

Ответ 8

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

Ответ 9

Только что установив XAMPP сегодня, я решил использовать другой порт по умолчанию для mysql, что было ужасно. Не забудьте добавить эти строки в phpMyAdmin config.inc.php:

$cfg['Servers'][$i]['host'] = 'localhost';

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