"인증 플러그인 'caching_sha2_password'
MySql 환경을 처음 사용하고 설치한 MySql은 다음과 같은 명령을 사용합니다.
sudo apt-get update
sudo apt-get install mysql-server
mysql_secure_installation
mysql 워크벤치도 설치했습니다.
그러나 로컬 호스트에 연결하려고 하면 다음 오류가 발생합니다.
"인증 플러그인 'caching_sha2_password'을(를) 로드할 수 없습니다. /usr/lib/mysql/plugin/caching_sha2_password.so: 공유 개체 파일을 열 수 없습니다.해당 파일 또는 디렉토리 없음"
스택 오버플로로 질문을 올리는 것은 이번이 처음입니다. 프레젠테이션 오류와 구문에 대해 죄송합니다.
그래서 저는 (적어도 저의 경우에는) 오류 메시지의 이유를 찾았습니다.버전 8.04 이상의 MySQL은caching_sha2_password
기본 인증 플러그인으로 이전에mysql_native_password
사용되었습니다.
이로 인해 예상되는 이전 서비스와의 호환성 문제가 분명히 발생합니다.mysql_native_password
인증
솔루션:
사용 중인 클라이언트 서비스의 업데이트된 버전(예: 최신 워크벤치)을 확인합니다.
MySQL Server를 해당 변경사항 아래 버전으로 다운그레이드합니다.
- 사용자별로 인증 플러그인을 변경합니다(글로벌 옵션을 찾지 못했습니다. 글로벌 옵션이 있을 수도 있습니다).
이제 옵션 3의 경우 사용자를 변경하는 것만큼 간단합니다.
ALTER USER user
IDENTIFIED WITH mysql_native_password
BY 'pw';
또는 사용자를 생성할 때:
CREATE USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
자세한 내용은 여기를 참조하십시오.그거caching_sha2_password
플러그인은 MySQL 8 서버의 새로운 기본 인증 플러그인입니다.해당 MySQL 8 배포의 libmysql 라이브러리만 이 플러그인을 소유하고 있으며, 다양한 클라이언트의 C-커넥터인 libmysql에 정적으로 내장되어 있습니다.그거caching_sha2_password
별도로 다운로드할 수 없습니다.
libmysql에 중요한 플러그인이 정적으로 포함된 것은 이번이 처음입니다.이로 인해 다른 libmysql(libmariadb 및 이전 libmysql 포함)이 MySQL 8에 연결되지 않습니다. 사용자는 이를 사용하도록 정의되어 있습니다.caching_sha2_password
인증
저는 마리아DB의 사람들이 그것을 포함하는 것이 너무 좋기를 바랄 뿐입니다.caching_sha2_password
MySQL과 MariaDB 간의 드롭인 호환성을 복원하기 위해 libmariadb에 있습니다.
MySQL의 서버 블로그에서:
caching_sha2_password에 대한 지원이 MySQL 8.0.3에 추가되었습니다.이전 버전의 libmysqlclient는 이 플러그인을 지원하지 않습니다.따라서 MySQL 8.0.3에서 사용할 수 있는 것보다 오래된 libmysql 클라이언트를 사용하는 클라이언트 도구는 mysql_native_password 또는 sha256_password와 같은 다른 인증 플러그인을 사용하는 사용자를 사용하여 MySQL 8.0.4 서버에 연결할 수 있지만 이러한 클라이언트는 caching_sha2_password 지원이 필요한 사용자를 사용하여 MySQL 8.0.4 서버에 연결할 수 없습니다.업그레이드된 데이터베이스의 경우 기존 사용자 계정을 사용하여 연결하면 문제가 발생하지 않습니다.
my.cnf 파일에 다음 행을 추가합니다.
default-authentication-plugin=mysql_native_password
그런 다음 서버를 다시 시작합니다.
최신 MYSQL 버전에는 기본 인증 유형으로 'caching_sha2_password'가 있습니다.이로 인해 MYSQL에 대한 원격 연결이 허용되지 않으며 caching_sha2_password 플러그인 오류가 발생합니다.사용하여 수정했습니다.
mysql_native_password로 식별되는 사용자 'yourusername'@'localhost'를 'yourpassword'로 변경합니다.
이제 사용자가 로컬 호스트에서 MySQL에 액세스할 수 있습니다.
여러 원격 호스트에서 MySQL에 액세스하려면 다음을 수행하십시오. **
사용자 'youusername'@'%'를 'youpassword'로 mysql_native_password로 식별합니다.
SQL의 모든 alter 명령을 실행한 후 다음을 실행합니다.
플러시 권한;
또는 MySQL 서버 재시작
Mysql 또는 워크벤치에 로그인하고 이 문제가 있는 모든 사용자에 대해 다음 문을 실행합니다.
alter USER 'YOURUSERFORMYSQL'@'localhost' identified with mysql_native_password by 'YOURPASSWORD'
사용자를 아직 만들지 않은 경우 사용자를 만드는 동안 이 기능을 활성화할 수 있습니다.
create USER 'NEWUSER'@'localhost' identified with mysql_native_password by 'NEWPASSWORD'
언급URL : https://stackoverflow.com/questions/49963383/authentication-plugin-caching-sha2-password
'programing' 카테고리의 다른 글
요소 집합의 최대 높이를 가진 요소 (0) | 2023.09.02 |
---|---|
npm과 링크한 모든 Node.js 모듈을 나열하는 방법 (0) | 2023.09.02 |
XHR HEAD 요청이 리디렉션(301 302)을 따르지 않을 수 있습니까? (0) | 2023.09.02 |
PowerShell 시작 텍스트를 제거하려면 어떻게 해야 합니까? (0) | 2023.09.02 |
WHERE...IN을 사용하여 여러 행을 업데이트하는 중 (0) | 2023.09.02 |