MySQL 액세스 거부 오류


9

나는 일반적인 문제가 있지만 일반적인 솔루션이 작동하지 않으므로 처음 등장한 것에 대한 사과가 이전에 질문 된 것처럼 보일 수 있습니다.

로컬에서 내 사이트를 보려고 할 때 다음 오류가 발생합니다.

    Access denied for user 'sitename'@'localhost' (using password: YES)

자격 증명이 잘못 사용되었지만 어디서 왔는지 모르겠습니다. app / etc / local.xml을 확인했으며 올바른 자격 증명이 모두 있습니다. 디렉토리에서 다른 모든 xml 파일을 제거했습니다 (config.xml 제외). var 폴더의 내용을 삭제했습니다 (수 차례)

로컬에서 작동하는 다른 magento 사이트가 있으므로 서버 설정이 양호해야합니다. 나는 이것에 정말 충격을 받았으며 다음에 취할 조치를 모릅니다. 도움을 주시면 감사하겠습니다.


DB 어댑터의 connect 메소드로 이동하여 연결 메소드를 호출하기 직전에 다음과 같이 배치하십시오. '$ e = new Exception (); 마법사 :: log ($ e-> getTraceAsString (), null, 'logname', true); ' 이렇게 추적하는 것이 더 컴팩트합니다. 그런 다음 해당 추적에서 홀수 코드 경로를 확인하십시오. PDO로 전달 된 실제 신임 정보도 기록하십시오.
Petar Dzhambazov

답변:


8

사용자가 sitename@localhost해당 데이터베이스 및 테이블에 액세스 할 수 있도록해야합니다 . MySQL 인스턴스에서 다음 SQL을 루트 또는 수퍼 유저로 사용하여 권한을 부여하십시오.

GRANT ALL ON magento_local.* TO 'sitename'@'localhost';

MYSQL의 Grants에 대한 자세한 내용은 다음 매뉴얼을 참조하십시오. http://dev.mysql.com/doc/refman/5.1/en/grant.html


답변 해주셔서 감사합니다. 나는이 옵션을 더 일찍 보았지만 그것이 효과가 있다고 생각하지 않았다. user : 'sitename'및 pass : 'yes'가 올바른 / 지정된 db 자격 증명이 아니기 때문에 이것이 잘못된 세부 정보 사용 문제를 해결하지 못하거나 app ​​/ etc / local.xml에서 세부 정보를 찾을 수 있다고 가정했습니다. 잘못된 세부 사항으로 한 번 db에 연결할 수 있음
develophper

mysql에 직접 액세스하는 것과 네트워크를 통한 'localhost'를 통한 액세스에는 차이가 있습니다. localhost 위치에 명시 적으로 부여해야합니다.
philwinkle

2
기억하고 실행하십시오 : flush privileges교부금 명령 후
Matthew Haworth

5

local.xml이 재정의되는 경우 사이트에서 다음과 같은 파일이 포함 된 파일을 검색하십시오 <username>sitename</username>. 이런 종류의 작업에는 ack을 선호합니다 .

ack --xml "<username>.*sitename.*</username>" app/

... 또는 심지어 :

ack sitename app/

4

캐시를 지우십시오. 타사 캐싱 레이어를 사용 중일 수도 있습니다. 마지막 옵션은 app / etc / local.xml의 이름을 바꾸고 웹 사이트를 열면 Magento는 설치 과정에서 local.xml의 오래된 암호화 키를 제공하여 설치 프로세스를 실행해야합니다.


1

다른 모든 답변은 문제가 무엇인지에 대한 모든 가능성을 좁히는 좋은 방법이었습니다. 이를 위해 나는 각각의 투표권이 있다고 느꼈다. 그들은 내 문제를 직접적으로 해결하지 않았기 때문에 나는 예의로 대답해야한다고 느꼈고 많은 사람들이 마 젠토와 함께 워드 프레스를 사용하기 때문에.

이 특정 사이트는 워드 프레스를 모듈로 사용합니다. 이 모듈에는 일반적인 magento app / etc / local.xml뿐만 아니라 db 자격 증명이 포함되어 있습니다. 이 모듈이 사이트 전체에서 거의 렌더링되고 데이터베이스와 관련이 있다는 것을 알지 못했습니다. 결과적으로 여기에서도 세부 사항을 변경하지 않고 사이트를 볼 수 없었습니다.


0

나는 같은 문제를 겪었고 다음과 같이 나를 위해 이것을 해결했다.

  1. Magento 원본 버전 다운로드
  2. app / etc 백업 (예 : app / _etc)
  3. 원본 Magento 폴더에서 원본 앱 등을 업로드
  4. 귀하의 사이트로 이동하여 Magento 설치 프로세스를 수행하십시오. 원래 데이터베이스 이름, 데이터베이스 설정 (사용자 / 암호) 및 암호화 키를 사용했습니다.
  5. 앱 / 등 / 모듈을 새 ETC 폴더에 업로드
  6. 설치 후 로그인하고 캐시를 지울 수 있습니다. 웹 사이트는 이전처럼 다시 작동했습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.