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

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

Как я установил: sudo apt-get install lamp-server ^ sudo apt-get install phpmyadmin

Я могу войти в систему локально на терминале, используя как пользователей root, так и phpmyadmin. Я могу просмотреть страницу входа phpmyadmin. Страница phpinfo.php, которую я отправил на сервер.

  • Ubuntu Version 10.04.4 Lucid Lynx
  • Apache 2.2.14
  • MySQL 5.1.73
  • PHP 5.3.6
  • Phpmyadmin 3.3.2

Ответы

Ответ 1

Я успешно подключился, переключив протокол на tcp и подключившись к "127.0.0.1" вместо "localhost". Все еще не удается подключиться через Unix Socket, хотя хотя и работает сокет daemon MySql.

Ответ 2

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

Откройте config.inc.php в текстовом редакторе и посмотрите на элементы управления и управления - убедитесь, что они точно соответствуют имени пользователя и паролю, которые вы успешно используете. Попробуйте полностью прокомментировать эти две строки, чтобы узнать, есть ли у вас другое сообщение об ошибке.

Если вы использовали диспетчер пакетов для установки, обратите внимание, что файлы конфигурации распространяются в /etc/phpmyadmin, и если вы вручную добавили эти строки, они могут быть перезаписаны другим конфигурационным файлом. Попробуйте grep -Ri controluser /etc/phpmyadmin/*, чтобы увидеть, отображается ли это в нескольких файлах.

Поскольку вы использовали диспетчер пакетов, вы должны позволить ему обрабатывать настройку базы данных. Попробуйте удалить любые изменения, которые вы внесли в файлы конфигурации, и запустить dpkg-reconfigure -plow phpmyadmin (это командная оболочка для запуска в командной строке); это перенастроит пакет phpmyadmin и спросит, хотите ли вы разрешить dbconfig-common создавать таблицы phpMyAdmin для вас, а также для элемента управления.

Ответ 3

Просто раскомментировать строку:

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

Попробуйте.

Ответ 4

Возможная проблема: обновленный пользователь mySQL

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

Исправить эту проблему: update config-db.php

Исправить это, чтобы обновить файл config-db.php с помощью правильных учетных данных (имя пользователя, пароль и т.д.).

В Ubuntu 12.04 это расположено по адресу /etc/phpmyadmin/config -db.php.

Более подробные инструкции приведены на http://tehnoblog.org/phpmyadmin-error-connection-for-controluser-as-defined-in-your-configuration-failed/

Ответ 5

Есть 2 ошибки:

1. Не удалось подключиться для элемента управления, определенного в вашей конфигурации
Решение:
а. Открытый терминал: sudo gedit/etc/phpmyadmin/config.inc.php

б. и раскомментировать следующие строки (могут быть оба будут в 2 раза зависеть от версии): $ cfg ['Servers'] [$ i] ['AllowNoPassword'] = TRUE;

с. и прокомментировать следующие строки (возможно, оба они будут в 2 раза зависеть от версии): // $cfg ['Servers'] [$ i] ['controluser'] = $dbuser; // $cfg ['Servers'] [$ i] ['controlpass'] = $dbpass;

2. Доступ запрещен для пользователя 'root' @'localhost'

Это произойдет, когда вы откроете phpmyadmin или когда вы откроете mysql на терминале без команды sudo (не от пользователя root). Эта ошибка возникает из-за пользователя root. Резонанс за этой ошибкой - ваш текущий пользователь ubuntu не имеет предисловий, чтобы открыть mysql в терминале. Если вы откроете mysql с помощью команды sudo, она откроется, но не будет открыта от вашего текущего пользователя. Например:

lenovo @lenovo-ThinkPad-E460:/etc $mysql -u root -p Введите пароль: ОШИБКА 1698 (28000): доступ запрещен для пользователя 'root' @'localhost'

Здесь текущий пользователь ubuntu является lenovo. Таким образом, вы должны предоставить разрешения своему пользователю root. Процесс:

1 - Сначала подключитесь в sudo mysql

sudo mysql -u root

2 - Проверьте свои учетные записи, представленные в вашем db

SELECT User, Host FROM mysql.user;

+------------------+-----------+
| User             | Host      |
+------------------+-----------+
| admin            | localhost |
| debian-sys-maint | localhost |
| magento_user     | localhost |
| mysql.sys        | localhost |
| root             | localhost |

3 - Удалить текущую учетную запись root @localhost

mysql > DROP USER 'root' @'localhost'; Query OK, 0 строк, затронутых (0,00 сек)

4 - Восстановите пользователя

mysql > CREATE USER 'root' @'%' IDENTIFIED BY ''; Query OK, 0 строк, затронутых (0,00 сек)

5 - Дайте разрешения вашему пользователю и не забудьте сбросить привилегии

mysql > ПРЕДОСТАВЛЯЙТЕ ВСЕ ПРИВИЛЕГИИ. TO 'root' @'%'; Query OK, 0 строк, затронутых (0,00 сек)

mysql > ПРИВИЛЕГИИ FLUSH; Query OK, 0 строк (0,01 сек)

6 - Выйдите из mysql и попытайтесь снова подключиться без sudo

Надеюсь, это поможет. И теперь вы можете открыть phpmyadmin без пароля.

Ответ 6

создать базу данных phpmyadmin

Открыть файл

  /etc/phpmyadmin/config-db.php

установите пароль root в файле config-db.php.

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

проблема будет решена.

Ответ 7

Если вы находитесь в окнах с xammp, перейдите в C:\xammp\phpMyAdmin\ config.inc, откройте его и найдите эту строку, теперь убедитесь, что

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

и пользовательское имя пользователя и пароль pma в базе phpMyAdmin одинаковы

Прочтите документацию phpmyadmin

Ответ 8

В моем случае я использую соединение сокета. Установив $cfg ['Servers'] [$ i] ['controlhost'] = ''; (поэтому для пустого) исчезло сообщение "Connection for controluser, как определено в вашей конфигурации". Я думаю, причина в том, что если вы установите "controlhost", phpMyAdmin попытается сделать новое соединение с базой данных, тем самым пренебрегая сокетом.

В коде вы найдете:

          if (! empty($cfg['Server']['controlhost'])
            || ! empty($cfg['Server']['controlport'])

В конце блока if выполняется новое соединение.

Ответ 9

Прежде всего убедитесь, что у вас есть правильные username и password в этом файле:

/etc/dbconfig-common/phpmyadmin.conf

Как указано в /etc/phpmyadmin/config-db.php:

## database access settings in php format
## automatically generated from /etc/dbconfig-common/phpmyadmin.conf
## by /usr/sbin/dbconfig-generate-include

Это username и password используются для доступа к phpmyadmin database.
Таким образом, phpmyadmin database должен иметь user с тем же именем и паролем, назначенным ему, по крайней мере, с Database-specific privileges

Это решило это для меня....

О:

  • Сервер: Localhost через сокет UNIX
  • Тип сервера: MySQL
  • Версия сервера: 5.7.16 - Сервер сообщества MySQL (GPL)