mysql - 오류 - usr lib x86_64 linux gnu mariadb18 plugin caching_sha2_password so




인증 플러그인 'caching_sha2_password'을(를)로드 할 수 없습니다. (17)

" MySQL Web Installer "를 사용하여 Windows 10 PC에 MySQL을 설치 하고 MySQL 워크 벤치를 사용하여 연결하는 동안 동일한 문제가 발생했습니다. 설치 프로그램 창에서 서버를 재구성하여 문제를 해결했습니다.

"재구성"옵션을 클릭하면 서버를 재구성 할 수 있습니다. "인증 방법"에 도달 할 때까지 "다음"을 클릭하십시오.

이 탭에서 두 번째 옵션 "기존 인증 방법 사용 (MySQL 5.x 호환성 유지)"을 사용하십시오.

그 밖의 모든 것을 그대로 유지하면 그것이 내가 어떻게 내 문제를 해결했는지 알 수있다.

나는 MySQL-8.0을 MySQL Workbench에 연결하고 아래 오류를 얻는다.

인증 플러그인 'caching_sha2_password'을 (를)로드 할 수 없습니다. dlopen (/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2) : 이미지를 찾을 수 없습니다.

나는 다른 클라이언트 도구로도 시도했다.

이것에 대한 해결책은 무엇입니까?


8.0.11-rc의 개발 릴리스를 다운로드하는 것은 Mac에서 나를 위해 일했습니다. 다음 도커 명령으로

docker run --name mysql -p 3406:3306 -e MYSQL_ROOT_PASSWORD=mypassword -d mysql

MySQL 5.7을 설치하여이 문제를 해결했습니다.

1 단계 - MySQL 저장소 사용

우선, 시스템에서 MySQL 5.7 커뮤니티 릴리스 yum 저장소를 활성화해야합니다. yum 저장소 설정을위한 rpm 패키지는 MySQL 공식 웹 사이트에서 구할 수 있습니다. 운영 체제 버전에 따라 아래 명령을 사용하십시오.

CentOS 및 RHEL 7에서

yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

CentOS 및 RHEL 6에서

yum localinstall https://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm

Fedora 27에서

dnf install https://dev.mysql.com/get/mysql57-community-release-fc27-9.noarch.rpm

Fedora 26에서

dnf install https://dev.mysql.com/get/mysql57-community-release-fc26-9.noarch.rpm

Fedora 25에서

dnf install https://dev.mysql.com/get/mysql57-community-release-fc25-9.noarch.rpm

2 단계 - MySQL 5.7 서버 설치

시스템에 MySQL yum 저장소가 성공적으로 활성화되었습니다. 이제 운영 체제 버전에 따라 다음 명령을 사용하여 MySQL 5.7 커뮤니티 서버를 설치하십시오.

CentOS 및 RHEL 7/6에서

yum install mysql-community-server

Fedora 27/26/25에서

 dnf install mysql-community-server

출처 : https://tecadmin.net/install-mysql-5-7-centos-rhel/


MySQL 커맨드 라인 클라이언트 열기

새로운 패스로 새 사용자 만들기

맨 위에있는 bin 폴더의 경로 예를 고려하면 명령 프롬프트에서 줄 단위로 실행해야하는 코드는 다음과 같습니다.

cd C:\Program Files\MySQL\MySQL Server 5.7\bin
MySQL -u root -p    
current password...***  
CREATE USER 'nativeuser'@'localhost'  
IDENTIFIED WITH mysql_native_password BY 'new_password';

- 그런 다음 Workbench에 다시 액세스 할 수 있습니다 (새 로컬 호스트 연결을 작성하고 새 권한 정보를 사용하여 프로그램을 사용하면이를 수행 할 수 있어야합니다).

위에서 언급 한 사용자 이름 (기본 사용자)과 암호 (new_password)를 사용하여 로그인하여 새 로컬 호스트 연결을 설정합니다.

호의 : Career365 팀이 답하는 UDEMY FAQs


거의 위의 답변과 비슷하지만 간단한 쿼리 일 수 있습니다. MySQL 업그레이드 후 최대 절전 모드와 함께 봄 부팅 응용 프로그램에서이 오류가 발생했습니다. DB에 대해 아래 쿼리를 실행하여 새 사용자를 만들었습니다. 나는 이것이 가장 최근의 좋은 인증 caching_sha2_password 대신에 sha256_password를 사용하는 일시적인 해결책이라고 생각한다.

CREATE USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pa$$word';

GRANT ALL PRIVILEGES ON * .* TO 'username'@'localhost';

나 같은 GitLab CI에서이 오류가 발생하는 경우 : 최신 버전에서 5.7 버전으로 변경하십시오.)

# .gitlab-ci.yml

rspec:
  services:
    # - mysql:latest (I'm using latest version and it causes error)
    - mysql:5.7 #(then I've changed to this specific version and fix!)

나에게는 같은 문제가 있었지만, Aman Aggarwal의 대답은 mysql 8.X를 실행하는 Docker 컨테이너와 함께 작동하지 않았다. 컨테이너에 로그인했습니다.

docker exec -it CONTAINER_ID bash

mysql에 root로 로그인한다.

mysql --user=root --password

루트 암호를 입력하십시오 (기본값은 'root'입니다). 마지막으로 실행 :

ALTER USER 'username' IDENTIFIED WITH mysql_native_password BY 'password';

너 모두 준비 됐어.


내 SQL 명령 프롬프트를 엽니 다 :

그런 다음 mysql 암호를 입력하십시오.

마침내 사용 :

ALTER USER 'username'@'ip_address' IDENTIFIED WITH mysql_native_password BY 'password';

다음을 참조하십시오 : https://.com/a/49228443/6097074

감사.


당신은 이렇게 암호의 암호화를 변경할 수 있습니다.

ALTER USER 'yourusername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'youpassword';

아래 명령을 사용하여 사용자를 변경하여 사용자 비밀번호의 암호화를 변경할 수 있습니다. 변경 명령 ​​:

ALTER USER 'username'@ 'ip_address'mysql_native_password BY 'password'와 일치 함;

또는

이전 비밀번호 플러그인에서 작동하도록하여이 오류를 피할 수 있습니다.

먼저 my.cnf 파일에서 Windows의 Linux / my.ini 파일에 대한 인증 플러그인을 변경하십시오.

[mysqld]

default_authentication_plugin = mysql_native_password

mysql 서버를 다시 시작하여 변경 사항을 적용하고 MySQL을 통해 모든 mysql 클라이언트와 연결을 시도하십시오.

그래도 연결할 수 없으며 아래 오류가 발생하는 경우

Unable to load plugin 'caching_sha2_password'

그것은 사용자가 위의 플러그인을 필요로 함을 의미합니다. 따라서 기본 플러그인을 변경 한 후 create user 또는 grant 명령을 사용하여 새로운 사용자를 생성 해보십시오. 새로운 사용자는 네이티브 플러그인이 필요하며 MySQL을 연결할 수 있습니다.

감사


이 오류는 사용중인 도구가 MySQL8과 호환되지 않을 때 나타납니다. MySQL8 용 MySQL Workbench의 최신 버전으로 업데이트하십시오



이전 설치 (MySQL Community Server 5.7 및 Workbench 6.1)로 롤백하고 새 MySQL 자격 증명을 설정하는 것이 효과적이었습니다!


좋아, 여기에 많은 시간을 낭비 했으니 2019 년 3 월 19 일 현재 요약이있다.

Docker 이미지를 MySql 8 이상 으로 사용하려고 시도한 다음 SequelPro 를 사용하여 해당 도커 컨테이너에서 실행중인 데이터베이스에 액세스하면 운이 없게됩니다.

sequelpro 문제 2699를 참조하십시오.

내 설정은 docker desktop 2.0.3.0 (mac - mojave)을 사용하는 sequelpro 1.1.2이며, mysql : latest (v8.0.15)를 사용해 보았습니다.

다른 사람들이보고 했으므로, mysql 5.7을 사용하면 아무 것도 할 필요가 없다.

docker run -p 3306:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=secret -d mysql:5.7

물론 caching_sha2_password 에서 MySql 8+를 사용할 수 있으며, 필요한 경우이 상황에서 caching_sha2_password 유형 문제에 대한 다른 대답이 작동합니다. 그러나 sequelpro는 My SQL 8+

마지막으로, 나는 sequelpro (2013 년부터 2014 년까지 신뢰할 수있는 친구)를 포기하고 대신 DBeaver 를 설치 DBeaver . 모든 것이 상자 밖으로 이루어졌습니다. 도커를 위해 나는 다음과 같이 사용했다.

docker run -p 3306:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=secret -d mysql:latest --default-authentication-plugin=mysql_native_password

다음을 사용하여 mysql 데이터베이스를 빠르게 확인할 수 있습니다.

docker exec -it mysql1 bash

mysql -u root -p

show databases;


현재 (2018/04/23), 개발 릴리스 를 다운로드해야합니다. 조지아 애들은 일하지 않아.

최신 GA 버전 (6.3.10)에 연결할 수 없었습니다.

mysql-workbench-community-8.0.11-rc-winx64.msi ( https://dev.mysql.com/downloads/workbench/ , 개발 릴리스 탭)에서 작동했습니다.


Windows 10의 경우 : 명령 프롬프트를 엽니 다.

cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"

C:\Program Files\MySQL\MySQL Server 8.0\bin> mysql -u root -p
Enter password: *********

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newrootpassword';
Query OK, 0 rows affected (0.10 sec)

mysql> exit

또는 my.ini 구성을 다음과 같이 변경할 수 있습니다.

[mysqld]

default_authentication_plugin = mysql_native_password

MySQL 서버를 재시작하고 Workbench를 다시여십시오.





mysql-8.0