“Falha na conexão do usuário do controle conforme definido na sua configuração” com o phpMyAdmin no XAMPP

127

Acabei de instalar o XAMPP na minha máquina com Windows XP e recebo um erro dizendo:

A conexão para o usuário do controle conforme definido em sua configuração falhou.

Antes de instalar o XAMPP, eu tinha um banco de dados MySQL instalado e ele tinha uma senha. Mudei e coloquei a senha em config.inc.php para MySQL, e recebi este erro:

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

Quando tento acessar o index.php, parece que algo está errado com a instalação do XAMPP. O que posso fazer para corrigir esse problema?

Makoto
fonte
19
IMHO esse tipo de pergunta é bastante comum e é desperdiçado muito tempo para resolvê-lo. Também pelo "escopo definido dos problemas", é discutível se podemos colocar essa questão em "soft. Ferramenta comumente usada por programadores" ou ". problema prático e responsável que é único no desenvolvimento suave ".Então, peço aos veteranos do SO que considerem esse post com cuidado antes de marcar" fora de tópico ". O SO tornou-se um destino confiável e único para obter problemas de programação, de pessoas que o enfrentaram e resolveram. Portanto, seria útil para o programador obter a resposta exata aqui do que procurar em outro lugar por esse problema.
Dexter

Respostas:

243
  1. Abra o phpMyAdmin em um navegador e efetue login como root.
  2. Crie um banco de dados chamado phpmyadmin
  3. Crie um usuário chamado pmae defina o "host" como o nome do host ou endereço IP do servidor da Web (se o servidor da Web e o MySQL estiverem na mesma caixa de uso localhost), anote a senha e conceda ao novo usuário controle total sobre o phpmyadminbanco de dados. É recomendável que este usuário não tenha acesso a nada além deste banco de dados.
  4. Vá para o diretório de instalação do phpMyAdmin, onde você encontrará um subdiretório chamado sql.
  5. Em sqlvocê encontrará um arquivo chamado create_tables.sql. Abra-o em um editor de texto.
  6. No phpMyAdmin, selecione o phpmyadminbanco de dados e clique na aba "SQL".
  7. Copie / cole o texto inteiro create_tables.sqlna caixa de texto e execute a consulta.
  8. Abra o config.inc.phparquivo no diretório de instalação do phpMyAdmin e adicione as seguintes linhas (ou altere as configurações existentes, se elas já estiverem lá):

    $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. Salve e feche o arquivo.

IMPORTANTE - O PMA carrega a configuração no login, avalia e armazena nos dados da sessão para que a mensagem não desapareça até que você faça isso:

  1. Saia do phpMyAdmin e faça login novamente

Problema resolvido.

DaveRandom
fonte
3
+1 para "sair e fazer login novamente". Eu perdi cinco minutos sem perceber que tinha que fazer isso.
Matthew G
1
@MatthewG Sim, o arquivo de configuração é carregado na sua sessão no ponto em que você efetuar login para reduzir disco I / O, para que ^^ se aplica a todas as mudanças que você pode fazer para o arquivo PMA configuração
DaveRandom
14
Por alguma razão, minha versão do phpmyadmin está com os nomes das tabelas como "pma__bookmark" e assim por diante com 2 "sublinhados". Se alguém tiver o mesmo, edite o "config.inc.php" de acordo. E BTW o arquivo de configuração está localizado no "/ etc phpmyadmin /" diretório em Ubuntu
ajaybc
6
No Ubuntu 14.04 o local para create_tables.sql é /usr/share/doc/phpmyadmin/examples/create_tables.sql.gz dentro
karlingen
5
Esta é uma excelente resposta (a 100ª +de mim;)). No entanto, eu não encontrar a exemplos diretório onde apontou no passo 4. Em vez disso, foi aqui: /usr/share/doc/phpmyadmin/examplese lá encontrei o arquivo sql comprimido: create_tables.sql.gz.
Majid Fouladpour
134

Se você chegou aqui e está usando o Debian / Ubuntu (ou qualquer outra distro baseada no dpkg), execute o seguinte comando:

sudo dpkg-reconfigure phpmyadmin

O pacote phpmyadmin contém o script para executar esta operação para você, tudo o que precisa é de um usuário com permissões. sudo não é necessário se você estiver logado como root, é claro.

EDIT: Pode valer a pena tentar descartar o usuário atual do phpmyadmin.

Ou Cohen
fonte
2
Isso funcionou para mim, eu apenas tive que reinstalar o banco de dados solicitado. Obrigado. (Ubuntu 12.04)
ino
17
Eu tive que digitar "pma" em vez de "phpmyadmin" para o usuário de controle durante a configuração para fazer este trabalho.
Hardell
1
Obrigado, você salvou meu dia :) hehe
Jeremy DiCaire
2
Largar o usuário 'phpmyadmin' primeiro e executar o 'sudo dpkg-reconfigure phpmyadmin' depois funcionou para mim. Obrigado!
bshea
1
nota: isso apagará todos os servidores configurados, se houver.
Raptor
23

Apenas comente o código completo "Usuário para recursos avançados" e "Recursos avançados do phpMyAdmin" config.inc.php.

à risca
fonte
Alguma explicação para isso? Como e por que isso funciona?
Huey
1
@ Ben: Às vezes isso é tudo que importa;)
raia
Em quais arquivos .... Isso é tão pouco informativo! Mas todo mundo entende, então eu me sinto estúpido e incapaz de consertar isso, rsrsrs perdem!
Jamie Hutber
2
Isso seria config.inc.php
Rocoty
1
Não existe nada parecido por User for advanced features" and "Advanced phpMyAdmin featuresdentrophpmyadmin/config.inc.php
AN
11

Você alterou recentemente sua senha root do MySQL Server? Se a resposta for SIM, essa é a causa do erro / aviso no console do phpMyAdmin. Para corrigir o problema, simplesmente edite o arquivo config-db.php do phpMyAdmin e configure a senha correta do banco de dados.

A primeira resposta está atrapalhando demais, e a segunda resposta não funcionou para mim. Assim:

Em servidores baseados em Linux, o arquivo geralmente está localizado em:

/etc/phpmyadmin/config-db.php

ou:

/etc/phpMyAdmin/config-db.php

Exemplo: (Meu arquivo ficou assim e mudei o usuário de phpmyadminpara admin, o nome de usuário que criei para manter meu banco de dados através do phpmyadmin e coloquei a senha apropriada.

$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/

Ben
fonte
4

Isso funcionou para mim com o phpmyadmin no Ubuntu 16.04:

Editei o /etc/phpmyadmin/config.inc.php e alterei as 2 linhas a seguir:

$cfg['Servers'][$i]['controluser'] = 'root'; 
$cfg['Servers'][$i]['controlpass'] = 'thepasswordgiventoroot'; 
Dominique H.
fonte
3

Em Ubunbtu.

A mensagem de Ben está próxima, mas não é a senha raiz que é o problema, o problema que encontrei foi que eu havia criado uma senha para o banco de dados phpmyadmin quando o instalei. Esta senha não é carregada na instalação no ubuntu, portanto a variável $ dbpass = ''; no arquivo de configurações do banco de dados está vazio e não a senha que você definiu.

  1. Para verificar se você tem a senha correta no logon da linha de comando para o mysql, use o seguinte comando: mysql -u phpmyadmin -p tente uma senha em branco que eu achei ter acesso negado, digite o comando novamente usando a senha que você definiu durante a instalação. Se ele se conectar, agora você sabe qual é a senha.
  2. Edite /etc/phpadmin/config-db.php e altere $ dbpass = ''; para $ dbpass = 'sua senha'; e salve o arquivo.
  3. Edite /etc/dbconfig-common/phpmyadmin.conf change dbc_dbpass = '' ; to dbc_dbpass = 'Sua senha'; e salve o arquivo. Feche o navegador e recarregue. Agora você encontrará a mensagem.
Clive Wi
fonte
0

O problema é que a senha de usuário do controle PhpMyAdmin (geralmente: pma) não corresponde à senha do usuário mysql: pma (mesmo usuário).

Para corrigi-lo, 1. Defina a senha que você deseja para o usuário pma aqui:

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

$ cfg ['Servidores'] [$ i] ['controlpass'] = 'seu_novo_phpmyadmin_pass';

(deve ser como na linha 32)

Então vá para o mysql, faça o login como root, vá para: (usei o phpmyadmin para ir aqui)

Banco de Dados: mysql »Tabela: usuário

Edite o usuário: pma

Selecione "Senha" na lista de funções (coluna da esquerda) e defina "your_new_phpmyadmin_pass" na coluna da direita e clique em Ir.

Reinicie o servidor mysql.

Agora a mensagem deve desaparecer.

Tarik
fonte
0

Eu simplesmente faço alterações no arquivo config.inc.php. Há uma senha com erro neste link $ cfg ['Servers'] [$ i] ['password'] = 'sua senha'; e agora está perfeitamente funcionado.

Mohit Sharma
fonte
edite sua pergunta e adicione mais detalhes. Isso é de baixa qualidade.
Mathews Sunny
O acima é a resolução, eu não segui as etapas acima. Simplesmente vou ao diretório config.inc.php e abra este arquivo config.inc.php no bloco de notas e alterei esta linha $ cfg ['Servidores'] [$ i] ['senha'] = 'sua senha'
Mohit Sharma
Eu vi a senha é mencionado não é errado e eu colocar a senha correta novamente e salva-lo e executar o phpmyadmin novamente e funcionando corretamente agora
Mohit Sharma
0

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

verifique se a senha corresponde ao seu config.inc.php para o usuário de controle

também para o erro blowfish muito curto

edite /var/lib/phpmyadmin/blowfish_secret.inc.php e torne a chave mais longa

Royce
fonte
0

no ubuntu 18.04 no etc/phpmyadmin/config.inc.php comentário todo o bloco

Opcional: Usuário para recursos avançados

boaz
fonte
-1

Tendo acabado de instalar o XAMPP hoje, decidi usar uma porta padrão diferente para o mysql, o que foi horrível. Certifique-se de adicionar estas linhas ao phpMyAdmin config.inc.php:

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

$cfg['Servers'][$i]['port'] = 'port';`
David
fonte