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


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

Как я установил: sudo apt-получить установку lamp-сервера^ sudo apt-получить установку phpmyadmin

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

  • Версия Ubuntu 10.04.4 Ясная Рысь
  • Apache 2.2.14
  • MySQL 5.1.73
  • PHP 5.3.6
  • Phpmyadmin 3.3.2
Author: Community, 2014-07-17

9 answers

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

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

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

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

 12
Author: Isaac Bennetch, 2014-07-17 21:28:33

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

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

Попробуйте.

 7
Author: bhansa, 2017-11-28 13:45:10

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

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

Исправление этой проблемы: обновление 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/

 6
Author: SRDC, 2016-03-17 02:12:48

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

 3
Author: Spitfire19, 2014-07-21 14:26:14

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

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

B. и раскомментируйте следующие строки (может быть, обе появятся 2 раза в зависимости от версии): $cfg['Серверы'][$i]['Разрешенный пароль'] = ИСТИНА;

C. и прокомментируйте следующие строки (может быть, обе появятся 2 раза в зависимости от версии): //$cfg['Серверы'][$i]['пользователь управления'] = $пользователь базы данных; //$cfg['Серверы'][$i]['контрольный проход'] = $dbpass;

2. Доступ запрещен для пользователя "root"@"локальный хост'

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

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

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

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

Sudo mysql - корень u

2 - Проверьте свои учетные записи, присутствующие в вашей базе данных

ВЫБЕРИТЕ пользователя, Хост ИЗ mysql.пользователь;

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

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

Mysql> УДАЛИТЬ ПОЛЬЗОВАТЕЛЯ "root"@"локальный хост"; Запрос ОК, затронуто 0 строк (0,00 сек)

4 - Создайте своего пользователя заново

Mysql> СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'root'@'%', ИДЕНТИФИЦИРОВАННОГО "; Запрос ОК, затронуто 0 строк (0,00 сек)

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

Mysql> ПРЕДОСТАВИТЬ ВСЕ ПРАВА НА . ДЛЯ "root"@"%"; Запрос ОК, затронуто 0 строк (0,00 сек)

Mysql> СБРОС ПРИВИЛЕГИИ; Запрос ОК, затронуто 0 строк (0,01 сек)

6 - Выйдите из mysql и попробуйте восстановить соединение без sudo

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

 1
Author: alok, 2016-12-08 07:30:53

Создайте базу данных 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';

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

 1
Author: VipinS, 2017-06-13 18:54:42

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

/* User for advanced features*/
$cfg['servers'] ['controlluser'] = 'pma';    $cfg['servers'] ['controllpass'] = '';

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

 0
Author: fidelmcscort, 2015-10-01 15:16:20

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

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

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

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

 0
Author: jvenderb, 2016-02-05 14:21:16

Прежде всего убедитесь, что у вас есть правильный 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

Это решило проблему для меня....

Вкл.:

  • Сервер: Локальный хост через сокет UNIX
  • Тип сервера: MySQL
  • Версия сервера: 5.7.16 - MySQL Сервер сообщества (GPL)
 0
Author: Jadeye, 2016-11-03 17:02:56