Pregunta "Falló la conexión para el usuario de control tal como se definió en su configuración" con phpMyAdmin en XAMPP


Acabo de instalar XAMPP en mi máquina con Windows XP y aparece un mensaje de error que dice:

La conexión para el usuario de control como se definió en su configuración falló.

Antes de instalar XAMPP, tenía una base de datos MySQL instalada y tenía una contraseña. Cambié y puse la contraseña en config.inc.php para MySQL, y obtuve este error:

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

Cuando intento acceder a index.php, parece que algo está mal con la instalación de XAMPP. ¿Qué puedo hacer para solucionar este problema?


110
2017-07-16 14:15


origen


Respuestas:


  1. Abra phpMyAdmin en un navegador e inicie sesión como root.
  2. Crea una base de datos llamada phpmyadmin
  3. Crear un usuario llamado pma y configure el "host" para el nombre de host o la dirección IP de su servidor web (si el servidor web y MySQL están en el mismo cuadro de uso) localhost), anote la contraseña y otorgue al nuevo usuario el control total sobre phpmyadmin base de datos. Se recomienda que este usuario no tenga acceso a otra cosa que no sea esta base de datos.
  4. Vaya al directorio de instalación phpMyAdmin, donde debería encontrar un subdirectorio llamado sql.
  5. En sql encontrará un archivo llamado create_tables.sql. Ábrelo en un editor de texto.
  6. En phpMyAdmin, seleccione la phpmyadmin base de datos y haga clic en la pestaña "SQL".
  7. Copie / pegue todo el texto de create_tables.sql en el cuadro de texto y ejecuta la consulta.
  8. Abre el config.inc.php archivo en el directorio de instalación phpMyAdmin, y agregue las siguientes líneas (o cambie las configuraciones existentes si ya están allí):

    $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. Guarde y cierre el archivo.

IMPORTANTE - PMA carga la configuración al iniciar sesión, la evalúa y la almacena en los datos de la sesión para que el mensaje no desaparezca hasta que haga esto:

  1. Salga de phpMyAdmin e inicie sesión de nuevo

Problema resuelto.


217
2017-11-01 14:43



Si llegó aquí y está utilizando Debian / Ubuntu (o cualquier otra distribución basada en dpkg), ejecute el siguiente comando:

sudo dpkg-reconfigure phpmyadmin

El paquete phpmyadmin contiene la secuencia de comandos para realizar esta operación por usted, todo lo que necesita es un usuario con permisos. sudo no es necesario si has iniciado sesión como root, por supuesto.

EDITAR: Puede valer la pena intentar eliminar el usuario phpmyadmin actual.


120
2017-11-26 09:54



Simplemente comente todo el "Usuario para funciones avanzadas" y "Bloques de código de funciones avanzadas de phpMyAdmin" en config.inc.php.


20
2017-11-26 17:09



En Ubunbtu.

El mensaje de Ben está cerca pero no es la contraseña de root el problema, el problema que encontré fue que había creado una contraseña para la base de datos phpmyadmin cuando lo instalé. Esta contraseña no se incluye en la instalación en ubuntu por lo que la variable $ dbpass = ''; en el archivo de configuración de la base de datos está vacío y no la contraseña que configuró.

  1. Para comprobar que tiene la contraseña correcta en la línea de comando, inicie sesión en mysql usando el siguiente comando: mysql -u phpmyadmin -p intente con una contraseña en blanco. Encontré que obtuve acceso denegado, ingrese nuevamente el comando usando la contraseña que configuró durante la instalación. Si inicia sesión ahora sabrá cuál es la contraseña.
  2. Editar /etc/phpadmin/config-db.phpy cambio $ dbpass = ''; a $ dbpass = 'Su contraseña'; y guarda el archivo.
  3. Editar /etc/dbconfig-common/phpmyadmin.conf cambio dbc_dbpass = ''; a dbc_dbpass = 'Su contraseña'; y guarda el archivo. Cierra el navegador y vuelve a cargar, ahora verás que el mensaje se ha ido.

3
2018-01-13 20:17



Esto funcionó para mí con phpmyadmin en Ubuntu 16.04:

Edité /etc/phpmyadmin/config.inc.php y cambié las siguientes 2 líneas:

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

3
2017-11-16 12:50



¿Ha cambiado recientemente su contraseña de root del servidor MySQL? Si la respuesta es SÍ, entonces esta es la causa del error / advertencia dentro de la consola phpMyAdmin. Para solucionar el problema, simplemente edite el archivo config-db.php de su phpMyAdmin y configure la contraseña correcta de la base de datos.

La primera respuesta es meterse demasiado en mi opinión y la segunda respuesta no funcionó para mí. Asi que:

En servidores basados ​​en Linux, el archivo generalmente se encuentra en:

/etc/phpmyadmin/config-db.php

o:

/etc/phpMyAdmin/config-db.php

Ejemplo: (Mi archivo se veía así y cambié el usuario dephpmyadmin a admin, el nombre de usuario que creé para mantener mi base de datos a través de phpmyadmin, y puse la contraseña apropiada.

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

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


2
2017-07-04 22:25



"Para que vuelva a funcionar, simplemente eliminé los archivos

ib_logfile0 y

ib_logfile1 .

de :

/ Aplicaciones / MAMP / db / mysql56 / ib_logfile0 "

En XAMPP es Xampp / xamppfiles / var / mysql

Tengo esto de Advertencia de PHP: mysqli_connect (): (HY000 / 2002): conexión rechazada 


2
2018-06-12 16:08



El problema es que la contraseña del usuario de control PhpMyAdmin (normalmente: pma) no coincide con la contraseña del usuario de mysql: pma (mismo usuario).

Arreglarlo, 1. Configure la contraseña que desea para el usuario pma aquí:

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

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

(debería ser como en la línea 32)

Luego ve a mysql, inicia sesión como root, ve a: (utilicé phpmyadmin para ir aquí)

Base de datos: mysql »Tabla: usuario

Edite el usuario: pma

Seleccione "Contraseña" de la lista de funciones (columna izquierda) y configure "your_new_phpmyadmin_pass" en la columna de la derecha y presione "ir".

Reinicie el servidor mysql.

Ahora el mensaje debería desaparecer.


0
2017-12-09 08:39