"Connessione per controluser come definita nella configurazione non riuscita" con phpMyAdmin in XAMPP


127

Ho appena installato XAMPP sul mio computer con Windows XP e viene visualizzato un errore che dice:

Connessione per controluser come definita nella configurazione non riuscita.

Prima di installare XAMPP, avevo installato un database MySQL e aveva una password. Ho modificato e inserito la password in config.inc.php per MySQL e ho riscontrato questo errore:

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

Quando provo ad accedere a index.php, sembra che qualcosa non vada nell'installazione di XAMPP. Cosa posso fare per risolvere questo problema?


19
IMHO questo tipo di domande sono praticamente comuni e molto tempo è sprecato per risolverle. Inoltre, per "portata definita dei problemi", è discutibile se possiamo mettere tale ricerca in "soft. Strumento comunemente usato dai programmatori" o "è un problema pratico e di risposta che è unico per lo sviluppo soft ". Quindi chiedo ai veterani di SO di considerare attentamente questo post prima di contrassegnare" off topic ". Le SO sono diventate una destinazione affidabile e unica per rispondere al problema di programmazione, da parte di persone che lo hanno affrontato e risolto. Quindi sarebbe utile per il programmatore ottenere una risposta esatta qui piuttosto che cercare altrove tale problema.
— Dexter,

Risposte:


243
  1. Apri phpMyAdmin in un browser e accedi come root.
  2. Crea un database chiamato phpmyadmin
  3. Crea un utente chiamato pmae imposta "host" sul nome host o sull'indirizzo IP del tuo server Web (se il server Web e MySQL si trovano sullo stesso box localhost), prendi nota della password e concedi al nuovo utente il pieno controllo il phpmyadmindatabase. Si consiglia a questo utente di non avere accesso a niente diverso da questo database.
  4. Vai alla directory di installazione di phpMyAdmin, dove dovresti trovare una sottodirectory chiamata sql.
  5. In sqltroverai un file chiamato create_tables.sql. Aprilo in un editor di testo.
  6. In phpMyAdmin, selezionare il phpmyadmindatabase e fare clic sulla scheda "SQL".
  7. Copia / incolla l'intero testo create_tables.sqlnella casella di testo ed esegui la query.
  8. Apri il config.inc.phpfile nella directory di installazione di phpMyAdmin e aggiungi le seguenti righe (o modifica le impostazioni esistenti se sono già presenti):

    $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. Salva e chiudi il file.

IMPORTANTE : PMA carica la configurazione all'accesso, la valuta e la memorizza nei dati della sessione in modo che il messaggio non scompaia finché non si esegue questa operazione:

  1. Disconnettersi da phpMyAdmin ed accedere nuovamente

Problema risolto.


3
+1 per "disconnettersi e riconnettersi". Ho perso cinque minuti senza rendermi conto che dovevo farlo.
— Matthew G,

1
@MatthewG Sì, il file di configurazione viene caricato nella sessione nel punto in cui si accede per ridurre l'I / O del disco, in modo che ^^ si applichi a tutte le modifiche che è possibile apportare al file di configurazione PMA
— DaveRandom

14
Per qualche motivo, la mia versione di phpmyadmin ha i nomi delle tabelle come "pma__bookmark" e così via con 2 "caratteri di sottolineatura". Se qualcuno ha lo stesso, allora dovresti modificare di conseguenza "config.inc.php". E a proposito il file di configurazione si trova nella directory "/ etc / phpmyadmin" in Ubuntu
— ajaybc

6
Su Ubuntu 14.04 la posizione per create_tables.sql è all'interno di /usr/share/doc/phpmyadmin/examples/create_tables.sql.gz
— karlingen

5
Questa è una risposta eccellente (la centesima +da me;)). Tuttavia, non ho trovato l'esempi directory in cui indicato al punto 4. Invece è qui: /usr/share/doc/phpmyadmin/examplese lì ho trovato il file sql compressi: create_tables.sql.gz.
— Majid Fouladpour,

134

Se sei arrivato qui e stai usando Debian / Ubuntu (o qualsiasi altra distribuzione basata su dpkg), esegui il seguente comando:

sudo dpkg-reconfigure phpmyadmin

Il pacchetto phpmyadmin contiene lo script per eseguire questa operazione, tutto ciò che serve è un utente con autorizzazioni. sudo non è richiesto se si è connessi come root, ovviamente.

EDIT: potrebbe valere la pena provare a eliminare l'utente phpmyadmin corrente.


2
Questo ha funzionato per me, ho dovuto reinstallare il database richiesto. Grazie. (Ubuntu 12.04)
— ino

17
Ho dovuto digitare "pma" invece di "phpmyadmin" per l'utente di controllo durante la configurazione per farlo funzionare.
— Hardell,

1
Grazie, mi hai salvato la giornata :) hehe
— Jeremy Dicaire,

2
Eliminare prima l' utente 'phpmyadmin' ed eseguire 'sudo dpkg-reconfigure phpmyadmin' dopo aver lavorato per me. Grazie!
— bshea,

1
nota: questo cancellerà tutti i server configurati, se presenti.
— Raptor,

23

Basta commentare l'intero blocco "Utente per funzionalità avanzate" e "Funzioni avanzate di phpMyAdmin" config.inc.php.


Qualche spiegazione per questo? Come e perché funziona?
— Huey,

1
@Ben: a volte è tutto importante;)
— striscia

In quali file .... Questo è così poco informativo! Ma tutti capiscono quindi mi sento stupido e incapace di aggiustarlo per perdere due volte!
— Jamie Hutber,

2
Sarebbe config.inc.php
— Rocoty,

1
Non esiste niente di simile User for advanced features" and "Advanced phpMyAdmin featuresall'internophpmyadmin/config.inc.php
— AN

11

Hai recentemente cambiato la password di root di MySQL Server? Se la risposta è SÌ, questa è la causa dell'errore / avviso nella console di phpMyAdmin. Per risolvere il problema, è sufficiente modificare il file config-db.php di phpMyAdmin e impostare la password del database corretta.

La prima risposta è un casino troppo secondo me e la seconda risposta non ha funzionato per me. Così:

Nei server basati su Linux il file si trova di solito in:

/etc/phpmyadmin/config-db.php

o:

/etc/phpMyAdmin/config-db.php

Esempio: (Il mio file sembrava così e ho cambiato l'utente da phpmyadmina admin, il nome utente che ho creato per mantenere il mio database tramite phpmyadmin e ho inserito la password appropriata.

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

crediti: http://tehnoblog.org/phpmyadmin-error-connection-for-controluser-as-defined-in-your-configuration-failed/


4

Questo ha funzionato per me con phpmyadmin sotto Ubuntu 16.04:

Ho modificato /etc/phpmyadmin/config.inc.php e modificato le seguenti 2 righe:

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

3

Su Ubunbtu.

Il messaggio di Ben è vicino ma non è la password di root il problema, il problema che ho riscontrato è che avevo creato una password per il database phpmyadmin quando l'ho installato. Questa password non viene portata nell'installazione su Ubuntu quindi la variabile $ dbpass = ''; nel file delle impostazioni del database è vuoto e non la password impostata.

  1. Per verificare di avere la password corretta nella riga di comando, accedi a mysql usando il seguente comando: mysql -u phpmyadmin -p prova una password vuota Ho trovato che ho avuto accesso negato, inserisci di nuovo il comando usando la password che hai impostato durante l'installazione. Se si accede ora sai qual è la password.
  2. Modifica /etc/phpadmin/config-db.php e cambia $ dbpass = ''; to $ dbpass = 'La tua password'; e salva il file.
  3. Modifica /etc/dbconfig-common/phpmyadmin.conf cambia dbc_dbpass = '' ; to dbc_dbpass = 'La tua password'; e salva il file. Chiudi il tuo browser e ricarica ora scoprirai che il messaggio è andato molto lontano.


0

Il problema è che la password dell'utente di controllo PhpMyAdmin (di solito: pma) non corrisponde alla password dell'utente mysql: pma (stesso utente).

Per risolvere il problema, 1. Impostare la password desiderata per l'utente pma qui:

"C: \ xampp \ phpMyAdmin \ config.inc.php"

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

(dovrebbe essere come sulla linea 32)

Quindi vai su mysql, accedi come root, vai a: (Ho usato phpmyadmin per andare qui)

Database: mysql »Tabella: utente

Modifica l'utente: pma

Seleziona "Password" dall'elenco delle funzioni (colonna di sinistra) e imposta "your_new_phpmyadmin_pass" sulla colonna di destra e premi go.

Riavvia il server mysql.

Ora il messaggio dovrebbe scomparire.


0

Ho semplicemente apportato modifiche al file config.inc.php. Password errata in questo collegamento $ cfg ['Server'] [$ i] ['password'] = 'la tua password'; e ora funziona perfettamente.


si prega di modificare la domanda e aggiungere ulteriori dettagli. Questo è di bassa qualità.
— Mathews Sunny,

Quanto sopra è la risoluzione, non ho seguito i passaggi precedenti. Vado semplicemente nella directory config.inc.php e apro questo file config.inc.php nel blocco note e ho cambiato questa riga $ cfg ['Servers'] [$ i] ['password'] = 'your password'
— Mohit Sharma,

Ho visto che la password è menzionata non è corretta e ho inserito di nuovo la password corretta e l'ho salvata ed eseguito di nuovo phpmyadmin e ora funziona correttamente
— Mohit Sharma

0

su ubuntu /etc/phpmyadmin/config-db.php

assicurati che la password corrisponda a config.inc.php per l'utente di controllo

anche per il blowfish errore troppo breve

modifica /var/lib/phpmyadmin/blowfish_secret.inc.php e allunga la chiave


0

su Ubuntu 18.04 nel etc/phpmyadmin/config.inc.php commento tutto il blocco

Opzionale: utente per funzionalità avanzate


-1

Avendo appena installato XAMPP oggi, ho deciso di utilizzare una porta predefinita diversa per mysql, che era orribile. Assicurati di aggiungere queste righe a phpMyAdmin config.inc.php:

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

$cfg['Servers'][$i]['port'] = 'port';`
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.