phpmyadmin 액세스가 거부되었습니다

phpmyadmin 액세스가 거부되었습니다

phpmyadmin에 로그인할 수 없습니다. 다음과 같은 오류가 표시됩니다.

오류 1045(28000): 사용자 "root"@"localhost"에 대한 액세스가 거부되었습니다(비밀번호 사용: YES).

실행을 위해 로그인을 시도했지만 mysql -u root -p동일한 오류가 표시됩니다.

답변1

아래 단계를 따르십시오.

  1. --skip-grant-tables옵션(보안 설정)을 사용하여 MySQL 서버 인스턴스 또는 데몬을 시작합니다.

    $ mysqld --skip-grant-tables
    
  2. 새 터미널에서 다음 명령문을 실행하십시오.

    $ mysql -u root mysql
    $mysql> UPDATE user SET Password=PASSWORD('my_password') where USER='root';
    $mysql> FLUSH PRIVILEGES;
    

위에서 알 수 없는 필드 비밀번호 오류가 발생하는 경우 다음을 사용하세요.

update user set authentication_string=password('my_password') where user='root';
  1. 마지막으로 옵션 없이 인스턴스/데몬을 다시 시작합니다 --skip-grant-tables.

    $ /etc/init.d/mysql restart
    

이제 새 비밀번호를 사용하여 연결할 수 있습니다.

$ mysql -u root -p

암호를 입력:my_password

답변2

MySQL 인증은 어떻게 보느냐에 따라 "수많은 놀라운 것"(FUBAR) 중 하나입니다. 다양한 버전과 설정에서는 다양한 인증 방법을 사용할 수 있습니다. Arzyfex의 조언이 항상 효과가 있는 것은 아닙니다. 가장 좋은 조언은 다음 MySQL 매뉴얼을 따르는 것입니다.http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html. 다양한 인증 형식을 처리하기 위해 꼭 mysql사용하시길 바라지만, set password for root해당 옵션을 사용하여 서버를 시작하면 이 명령이 작동하지 않습니다! --skip-grant-tables따라서 규정된 공식은 mysql 서버를 시작하는 명령이 포함된 특별한 init 파일을 사용하는 것입니다 set password.

관련 정보