it-swarm.dev

Połączenie kontrolera zdefiniowane w konfiguracji nie powiodło się

Zajrzałem już do this ale ponieważ pracuję na Ubuntu 10.04 zamiast XAMPP i już stworzyłem bazę danych phpmyadmin i mogę się zalogować przez terminal zarówno z użytkownikami root, jak i phpmyadmin.

Jak zainstalowałem: Sudo apt-get zainstaluj lamp-server ^ Sudo apt-get install phpmyadmin

Mogę zalogować się lokalnie na terminalu, używając zarówno użytkowników root, jak i phpmyadmin . Mogę wyświetlić stronę logowania phpmyadmin . Strona phpinfo.php, którą wysłałem na serwer.

  • Wersja Ubuntu 10.04.4 Lucid Lynx 
  • Apache 2.2.14
  • MySQL 5.1.73
  • PHP 5.3.6
  • Phpmyadmin 3.3.2
15
Spitfire19

Udało mi się połączyć, przełączając protokół na tcp i łącząc się z „127.0.0.1” zamiast „localhost” . Nadal nie można połączyć się przez gniazdo Unix, mimo że działa gniazdo demona MySql.

4
Spitfire19

Ponieważ jesteś w stanie zalogować się jako kontroler na terminalu, najprawdopodobniej plik konfiguracyjny nie zawiera prawidłowej nazwy użytkownika lub hasła dla kontrolera.

Otwórz config.inc.php w edytorze tekstu i spójrz na kontrolera i linie kontrolne - upewnij się, że pasują dokładnie do nazwy użytkownika i hasła, z którego korzystasz. Spróbuj całkowicie skomentować te dwie linie, aby zobaczyć, czy pojawi się inny komunikat o błędzie.

Jeśli używasz menedżera pakietów do zainstalowania, zauważ, że pliki konfiguracyjne są rozmieszczone w /etc/phpmyadmin i jeśli ręcznie dodasz te linie, mogą zostać nadpisane przez inny plik konfiguracyjny. Spróbuj grep -Ri controluser /etc/phpmyadmin/*, aby zobaczyć, czy pojawia się w więcej niż jednym pliku.

Ponieważ korzystałeś z menedżera pakietów, powinieneś pozwolić mu na konfigurowanie bazy danych. Spróbuj usunąć wszystkie zmiany dokonane w plikach konfiguracyjnych i uruchomić dpkg-reconfigure -plow phpmyadmin (jest to polecenie powłoki uruchamiane przy poleceniu Wiersz); spowoduje to ponowne skonfigurowanie pakietu phpmyadmin i zapyta, czy chcesz zezwolić programowi dbconfig-common na tworzenie tabel phpMyAdmin zarówno dla użytkownika, jak i użytkownika kontrolującego. 

12
Isaac Bennetch

Just uncomment linia:

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

Spróbuj.

8
bhansa

Możliwy problem: zaktualizowano użytkownika mySQL

Może się to również zdarzyć, gdy użytkownik, z którym się łączysz, jak w phpmyadmin, został zaktualizowany w mySQL. Miałem to po odinstalowaniu/aktualizacji/ponownej instalacji phpmyadmin i zmianie niektórych ustawień mySQL w tym samym czasie. 

Napraw ten problem: zaktualizuj plik config-db.php

Poprawka polega na zaktualizowaniu pliku config-db.php za pomocą odpowiednich danych logowania (nazwa użytkownika, hasło itp.)

W Ubuntu 12.04 znajduje się on w /etc/phpmyadmin/config-db.php.

Niektóre bardziej szczegółowe instrukcje znajdują się na stronie http://tehnoblog.org/phpmyadmin-error-connection-for-controluser-as-defined-in-your-configuration-failed/

6
SRDC

utwórz bazę danych phpmyadmin

Otwórz plik

  /etc/phpmyadmin/config-db.php

ustaw hasło roota w pliku config-db.php.

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

problem zostanie rozwiązany.

1
VipinS

Istnieją 2 błędy:

1. Połączenie dla kontrolera zdefiniowane w konfiguracji nie powiodło się
Rozwiązanie:
za. Otwórz terminal: Sudo gedit /etc/phpmyadmin/config.inc.php

b. i odkomentowanie następujących wierszy (mogą pojawić się 2 razy w zależności od wersji): $ cfg ['Servers'] [$ i] ['AllowNoPassword'] = TRUE;

do. i komentuj następujące wiersze (oba mogą pojawić się 2 razy w zależności od wersji): // $ cfg ['Servers'] [$ i] ['controluser'] = $ dbuser; // $ cfg ['Servers'] [$ i] ['controlpass'] = $ dbpass;

2. Odmowa dostępu dla użytkownika 'root' @ 'localhost'  

Nastąpi to po otwarciu phpmyadmin lub po otwarciu mysql na terminalu za pomocą polecenia Sudo (nie od użytkownika root). Ten błąd jest spowodowany przez użytkownika root. Rezonsem za tym błędem jest to, że bieżący użytkownik ubuntu nie ma previlages do otwarcia mysql w terminalu. Jeśli otworzysz mysql za pomocą polecenia Sudo, otworzy się ono, ale nie zostanie otwarte od bieżącego użytkownika. Na przykład:

lenovo @ lenovo-ThinkPad-E460:/etc $ mysql -u root -p Wprowadź hasło: BŁĄD 1698 (28000): Odmowa dostępu dla użytkownika 'root' @ 'localhost'

Tutaj bieżącym użytkownikiem ubuntu jest lenovo. Więc musisz dać uprawnienia swojemu użytkownikowi root . Process:

1 - Najpierw połącz się z Sudo mysql

Sudo mysql -u root

2 - Sprawdź swoje konta obecne w db

SELECT Użytkownik, host z mysql.user;

+ ------------------ + ----------- + 
 | Użytkownik | Host | 
 + ------------------ + ----------- + 
 | admin | localhost | 
 | debian-sys-maint | localhost | 
 | magento_user | localhost | 
 | mysql.sys | localhost | 
 | root | localhost |

3 - Usuń bieżące konto root @ localhost

mysql> DROP USER 'root' @ 'localhost'; Zapytanie OK, wpływ na 0 wierszy (0,00 s)

4 - Odtwórz użytkownika

mysql> CREATE USER 'root' @ '%' IDENTIFIED BY ''; Zapytanie OK, wpływ na 0 wierszy (0,00 s)

5 - Daj uprawnienia swojemu użytkownikowi i nie zapomnij opróżnić przywilejów

mysql> GRANT ALL PRIVILEGES ON . TO 'root' @ '%'; Zapytanie OK, dotyczy 0 wierszy (0,00 s)

mysql> PRZYWILEJE FLUSH; Zapytanie OK, zaatakowane 0 wierszy (0,01 s)

6 - Wyjdź z mysql i spróbuj połączyć się ponownie bez Sudo

Mam nadzieję, że to pomoże. A teraz możesz otworzyć phpmyadmin bez hasła.

1
alok

Jeśli jesteś w systemie Windows z xammp, przejdź do C:\xammp\phpMyAdmin\ config.inc, otwórz go i znajdź tę linię, teraz upewnij się, że

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

a nazwa użytkownika i hasło użytkownika pma w bazie danych phpMyAdmin są takie same

Przeczytaj dokumentację phpmyadmin

0
fidelmcscort

Przede wszystkim upewnij się, że w tym pliku masz poprawną username i password:

/etc/dbconfig-common/phpmyadmin.conf

Jak stwierdzono w /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

Ta zmienna username i password służy do uzyskiwania dostępu do phpmyadmin database.
W ten sposób phpmyadmin database powinien mieć zmienną user z taką samą nazwą i hasłem przypisanym co najmniej Database-specific privileges

To rozwiązało to dla mnie ....

Na:

  • Serwer: Localhost przez gniazdo UNIX
  • Typ serwera: MySQL
  • Wersja serwera: 5.7.16 - Serwer społecznościowy MySQL (GPL)
0
Jadeye

W moim przypadku używam połączenia z gniazdem. Ustawiając $ cfg ['Servers'] [$ i] ['controlhost'] = ''; (aby opróżnić) komunikat „Połączenie dla kontrolera zdefiniowanego w konfiguracji nie powiódł się” zniknął. Myślę, że powodem jest to, że jeśli ustawisz 'controlhost', phpMyAdmin spróbuje nawiązać nowe połączenie z bazą danych, ignorując w ten sposób gniazdo.

W znalezionym kodzie:

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

Pod koniec bloku blokuje się nowe połączenie.

0
jvenderb