phpmyadmin에 로그인할 수 없습니다. 다음과 같은 오류가 표시됩니다.
오류 1045(28000): 사용자 "root"@"localhost"에 대한 액세스가 거부되었습니다(비밀번호 사용: YES).
실행을 위해 로그인을 시도했지만 mysql -u root -p
동일한 오류가 표시됩니다.
답변1
아래 단계를 따르십시오.
--skip-grant-tables
옵션(보안 설정)을 사용하여 MySQL 서버 인스턴스 또는 데몬을 시작합니다.$ mysqld --skip-grant-tables
새 터미널에서 다음 명령문을 실행하십시오.
$ 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';
마지막으로 옵션 없이 인스턴스/데몬을 다시 시작합니다
--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
.