>  기사  >  데이터 베이스  >  다음은 몇 가지 가능한 제목입니다. 질문 형식이어야 한다는 점을 명심하세요. * **MySQL 연결 오류: \"mysqlnd Cannot Connect\"가 발생하는 이유는 무엇입니까?** * **PHP 및 MySQL: 방법

다음은 몇 가지 가능한 제목입니다. 질문 형식이어야 한다는 점을 명심하세요. * **MySQL 연결 오류: \"mysqlnd Cannot Connect\"가 발생하는 이유는 무엇입니까?** * **PHP 및 MySQL: 방법

DDD
DDD원래의
2024-10-25 03:53:29754검색

Here are a few potential titles, keeping in mind they should be in the form of a question:

* **MySQL Connection Error: Why Does

MySQL 연결 오류: "mysqlnd Cannot Connect" 문제 해결

MySQL에 연결하려고 하면 다음 오류 메시지가 나타날 수 있습니다. mysqlnd는 이전의 안전하지 않은 인증을 사용하여 MySQL 4.1에 연결할 수 없습니다." 이 오류는 MySQL 서버에서 사용하는 비밀번호 해싱 방법과 PHP MySQL 드라이버 mysqlnd에서 사용하는 인증 메커니즘이 일치하지 않기 때문에 발생합니다.

해결 방법

이 오류를 해결하려면 MySQL 비밀번호 해싱 방법을 보다 안전한 새 형식으로 업데이트해야 합니다. 여기에는 MySQL 구성 파일(my.cnf)을 다음과 같이 수정하는 작업이 포함됩니다.

  1. "old_passwords = 1" 제거 또는 주석 처리:
    "old_passwords = 1 줄 찾기 "를 my.cnf 파일에서 삭제하거나 앞에 "#" 접두사를 붙여 주석 처리합니다.
  2. MySQL 다시 시작:
    MySQL을 다시 시작하여 구성 변경. 이렇게 하면 MySQL이 앞으로 새로운 비밀번호 해싱 방법을 사용하게 됩니다.
  3. 영향을 받는 사용자에 대한 새 비밀번호 설정:
    MySQL 데이터베이스에 연결하고 다음 쿼리를 실행하여 이전 형식의 비밀번호로 사용자를 식별합니다.

    <code class="sql">SELECT user, Length(`Password`) FROM  `mysql`.`user`;</code>

    영향을 받는 각 사용자에 대해 PASSWORD() 함수를 사용하여 비밀번호를 업데이트합니다.

    <code class="sql">UPDATE mysql.user SET Password = PASSWORD('new_password') WHERE user = 'affected_username';</code>
  4. 권한 플러시:
    비밀번호를 업데이트한 후 변경 사항을 반영하도록 권한을 플러시합니다.

    <code class="sql">FLUSH PRIVILEGES;</code>

참고:

  • MySQL 계정에 강력하고 안전한 비밀번호를 사용하는지 확인하세요.
  • 계속 문제가 발생하면 PHP 오류 로그에서 자세한 내용을 확인하세요.
  • 소스를 참조하세요. 추가 지침 및 문제 해결 단계는 "PHP5.3에서 'mysqlnd가 이전 인증을 사용하여 MySQL 4.1에 연결할 수 없음' 문제를 해결하는 방법" 문서를 참고하세요.

위 내용은 다음은 몇 가지 가능한 제목입니다. 질문 형식이어야 한다는 점을 명심하세요. * **MySQL 연결 오류: \"mysqlnd Cannot Connect\"가 발생하는 이유는 무엇입니까?** * **PHP 및 MySQL: 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.