MySQL에 연결할 수 없습니다. 오류 코드 ER_NOT_SUPPORTED_AUTH_MODE
<p>MySQL에 데이터베이스를 생성했으며 JS를 사용하여 해당 데이터베이스에 연결하고 싶습니다. 아래는 이에 대해 작성한 코드이지만 오류가 발생합니다. </p>
<pre class="brush:php;toolbar:false;">const mysql = require('mysql');
var mysqlConnection = mysql.createConnection({
호스트: 'localhost',
사용자:'루트',
비밀번호:'********',
데이터베이스:'EmployeeDB'
});
mysqlConnection.connect((err) => {
만약 (!err)
console.log('DB 연결 성공');
또 다른
console.log('DB 연결 실패 n 오류 :'+ JSON.stringify(err, 정의되지 않음, 2));
});</pre>
<p>호스트 이름을 변경하고 권한을 취소 및 부여해 보았습니다(둘 다 할 수 없음). 데이터베이스를 삭제하고 다시 만든 후 다시 연결해 보세요. 내 데이터베이스에 연결해야 하는데 이해할 수 없는 오류가 발생하고 있습니다. 오류 메시지는 다음과 같습니다. </p>
<pre class="brush:php;toolbar:false;">DB 연결 실패
오류 :{
"코드": "ER_NOT_SUPPORTED_AUTH_MODE",
"오류 번호": 1251,
"sqlMessage": "클라이언트는 서버에서 요청한 인증 프로토콜을 지원하지 않습니다. MySQL 클라이언트 업그레이드를 고려하십시오.",
"sqlState": "08004",
"치명적": 사실
}</pre>
<p>호스트 이름을 변경한 후:</p>
<pre class="brush:php;toolbar:false;">DB 연결 실패
오류 :{
"코드": "ER_HOST_NOT_PRIVILEGED",
"오류 번호": 1130,
"sqlMessage": "'Mistycyrus.bbrouter' 호스트는 이 MySQL 서버에 연결할 수 없습니다.",
"치명적": 사실
}</pre></p>