MySQL Server 8.0의 PASSWORD 기능
MySQL Server 버전 8.0에서 PASSWORD 기능은 이전 버전과 다르게 동작합니다. 이로 인해 질문에 표시된 대로 함수를 사용할 때 오류가 발생할 수 있습니다.
"오류 코드: 1064. SQL 구문에 오류가 있습니다."라는 오류는 MySQL 서버가 SQL 구문에 대해 다른 구문을 예상하고 있음을 나타냅니다. 비밀번호 기능. 이전 버전의 MySQL에서는 PASSWORD 함수를 사용하여 이전 비밀번호 해싱 알고리즘을 사용하여 비밀번호를 암호화했습니다. 그러나 MySQL 8.0에서는 이 알고리즘이 더 이상 사용되지 않으며 보다 안전한 알고리즘으로 대체되었습니다.
이 문제를 해결하기 위해 질문에서는 SHA1 및 CONCAT 함수를 사용하여 PASSWORD 기능을 대체하는 솔루션을 제공합니다. 대답은 대안으로 다음 쿼리를 사용하는 것을 제안합니다.
<code class="SQL">SELECT CONCAT('*', UPPER(SHA1(UNHEX(SHA1('mypass')))))</code>
이 쿼리는 별표(*)를 입력 비밀번호('mypass')의 SHA1 해시에 대한 SHA1 해시의 대문자 16진수 표현과 연결합니다. . 결과는 이전 MySQL 버전의 PASSWORD 함수 출력과 유사하므로 인증 목적에 적합한 대체 기능이 됩니다.
위 내용은 비밀번호 인증을 위해 MySQL 8.0에서 PASSWORD 기능을 대체하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!