Logo da MMHospedagem
Carregando...
Não é possível acessar a GUI do Plesk: Acesso negado ao usuário 'admin'@'localhost' (usando senha: YES)
imprimir
  • 0

Sintomas

A interface do Plesk está inacessível. Uma das seguintes mensagens de erro é mostrada em um navegador web ou ao executar alguns utilitários do Plesk, como plesk db ou plesk login:

ERROR: 500 Plesk\Exception\Database
Zend_Db_Adapter_Exception: SQLSTATE[HY000] [1045] Access denied for user 'admin'@'localhost' (using password: YES)

 

ERROR: PleskFatalException
Unable to connect to database: saved admin password is incorrect.
0: common_func.php3:93
psaerror(string 'Unable to connect to database: saved admin password is incorrect.')
1: auth.php3:127
Additionally, an exception has occurred while trying to report this error: Zend_Exception
No entry is registered for key &;translate&; (Abstract.php:144)

Causa

A senha com hash no arquivo /etc/psa/.psa.shadow, que é usado para acessar o banco de dados Plesk, não corresponde à senha de administrador no banco de dados 'mysql'.

  1. Faça um backup do arquivo /etc/psa/.psa.shadow:

    cp /etc/psa/.psa.shadow /etc/psa/.psa.shadow.bak
  2. Insira a nova senha em /etc/psa/.psa.shadow texto simples:

    echo 'new_password' > /etc/psa/.psa.shadow

    Note: não se esqueça de substituir a nova senha do comando pela senha adequada.

  3. Defina a mesma senha usando o utilitário Plesk para armazená-la criptografada em /etc/psa/.psa.shadow:

    PSA_PASSWORD=new_password /usr/local/psa/admin/sbin/ch_admin_passwd

    Note: se este comando produzir alguma saída, aplique o método 2.

  1. Conecte-se ao servidor Plesk via SSH .

  2. Com o comando abaixo, verifique se a diretiva old-passwords existe no arquivo de configuração do MySQL my.cnf(nenhuma saída significa que ela não existe):

    grep -ir old-passwords /etc/my*

  3. Obtenha uma senha com hash do usuário administrador do MySQL e copie-a para a área de transferência:

    Note: Certifique-se de que haja apenas uma senha especificada no arquivo.

    grep AES /etc/psa/.psa.shadow

    Aqui está um exemplo de senha com hash:

    $AES-128-CBC$ZmY/EEpy1+TwCNq5kalqSA==$Pd02kf4TTlpXdi/qyeo92w==
  4. Modifique o my.cnf arquivo:

    4.1. Abra o my.cnf arquivo em um editor de texto. Neste exemplo, estamos usando o editor vi :

    • em distribuições baseadas em CentOS/RHEL

      vi /etc/my.cnf

    • em distribuições baseadas em Debian/Ubuntu

      vi /etc/mysql/my.cnf

    4.2. Adicione a skip-grant-tables linha abaixo da [mysqld]seção:

    [mysqld]
    skip-grant-tables
    <...>

    4.3. Salve as alterações e feche o arquivo.

  5. Reinicie o MySQL. O comando depende da versão do MySQL e do sistema operacional:

    service mariadb restart

    # service mysql restart

    # service mysqld restart
  6. Conecte-se ao MySQL:

    plesk db
  7. Mude para o banco de dados mysql:

    mysql> use mysql;
  8. Encontre a versão do MySQL:

    mysql> SELECT VERSION();
  9. Recarregue o cache das tabelas ACL:

    mysql> FLUSH PRIVILEGES;

    Note: Depois que o comando acima for executado, não saia da sessão atual do MySQL, pois este comando carrega as tabelas de concessão de volta.

  10. Restaure o usuário administrador do MySQL:

    • Para MySQL 5.1 até 5.6 e MariaDB 5.5 até 10.4

      1. Elimine o usuário administrador atual:

        mysql> DROP USER 'admin'@'localhost';
      2. Crie um novo usuário administrador com a senha com hash da etapa 3:

        mysql> CREATE USER 'admin'@'localhost' IDENTIFIED BY 'HASHED_PASSWORD_FROM_STEP_3';
      3. Conceda todas as permissões ao usuário administrador:

        mysql> GRANT ALL ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
      4. Saia do MySQL:

        mysql> exit

    • Para MariaDB 10.5

      1. Elimine o usuário administrador atual:

        mysql> DROP USER 'admin'@'localhost';
      2. Crie um novo usuário administrador com a senha com hash da etapa 3:

        mysql> CREATE USER 'admin'@'localhost' IDENTIFIED VIA mysql_native_password USING PASSWORD('HASHED_PASSWORD_FROM_STEP_3');
      3. Conceda todas as permissões ao usuário administrador:

        mysql> GRANT ALL ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;

      4. Saia do MySQL:

        mysql> exit
    • Para MySQL 5.7 até 8.0

      1. Elimine o usuário administrador atual:

        mysql> DROP USER 'admin'@'localhost';
      2. Crie um novo usuário administrador com a senha com hash da etapa 3:

        mysql> CREATE USER 'admin'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY 'HASHED_PASSWORD_FROM_STEP_3';
      3. Conceda todas as permissões ao usuário administrador:

        mysql> GRANT ALL ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;

      4. Saia do MySQL:

        mysql> exit
  11. Remova a skip-grant-tableslinha do my.cnfarquivo (etapa 4).

  12. Reinicie o MySQL:

    service mariadb restart



    # service mysql restart



    # service mysqld restart

Esta resposta lhe foi útil?

Artigos Relacionados

MMHospedagem