반응형

 

I was installing MySQL on my Windows 10 PC using "MySQL Web Installer" and was facing the same issue while trying to connect using MySQL workbench. I fixed the issue by reconfiguring the server form the Installer window.

Clicking on the "Reconfigure" option it will allow to reconfigure the server. Click on "Next" until you reach "Authentication Method".

Once on this tab, use the second option "Use Legacy Authentication Method (Retain MySQL 5.x Compatibility)".

Keep everything else as is and that is how I solved my issue.

 

[출처]https://stackoverflow.com/questions/49194719/authentication-plugin-caching-sha2-password-cannot-be-loaded

 

Authentication plugin 'caching_sha2_password' cannot be loaded

I am connecting MySQL - 8.0 with MySQL Workbench and getting the below error: Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/mysql/lib/plugin/caching_sha2_pa...

stackoverflow.com

 

위 대로 하니 아래와 같이 바뀜

  • 권한 부여 중 만약 아래와 같은 오류가 발생한다면 mysql_upgrade를 실행 후 다시 권한 부여를 하면 된다.

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) $ mysql_upgrade -u root -p

Copy

  • 이제 외부에서 HeidiSQL 등의 MySQL 클라이언트 툴로 원격 접속이 가능하다.

[출처]https://jsonobject.tistory.com/317

 

MySQL, 계정 원격 접속 허용하기

MySQL 보안 정책 MySQL은 보안 관점에서 계정 단위로 특정 도메인 또는 IP 주소에게만 원격 접속을 허용하게 할 수 있다. 또한, 같은 계정이라도 원격지 별로 패스워드 또한 다르게 부여할 수 있다. MySQL을 처음..

jsonobject.tistory.com

 

728x90
반응형

로컬에 mysql을 설치해서 테스트를 해야하는 일이 생겨, windwos10에 mysql을 설치하였습니다.

 

 MySQL Download : https://dev.mysql.com/downloads/windows/installer/8.0.html

 

설치 후에 HeidSQL을 통해서 접속을 하려 하는데 아래와 같은 에러가 뜨면서 접속이 되질 않았다.

Authentication plugin 'caching_sha2_password' cannot be loaded: The specified module could not be found.

 

딱 봐도 암호화 관련 에러인데, 현재 내가 사용하고 있는 HeidSQL 9.4 버전에서는 MySQL (TCP/IP) 접속시 암호화 선택하는 옵션이 없습니다.

역시 구글링을 하다 보니 바로 답변이 있네요... 역시나 같은 오류를 먼저 맞이하고 해결한 능력자들이 있었어요. 구글은 없는게 없어... 갓구글

 

 

먼저 생성한 MySQL 서버의 환경설정을 변경해줍니다.

기본으로 설치하셨다면 아래의 경로에 my.ini가 존재합니다. (ProgramData가 안보이신다면, 폴더옵션에서 숨긴폴더 보이도록 설정하시면 됩니다.)

 

경로 : C:\ProgramData\MySQL\MySQL Server 8.0\my.ini

 

위의 파일을 notepad(메모장)으로 수정해줍니다.

메모장에서 [찾기]로 "default_authentication_plugin"를 찾아갑니다.

 

위의 이미지와 같이 처음에는 default_authentication_plugin의 값이 caching_sha2_password로 되어 있는데, 앞에 #(샾)을 붙여서 주석처리를 해주시던지 지우시고, 아래와 같이 바꿔줍니다.

 

default_authentication_plugin=mysql_native_password

 

설정을 바꾸었으면, MySQL 서버를 재부팅해주고 다음을 진행합니다.

 

 

그리고 해당 계정에 권한을 주어주면 됩니다.

MySQL 설치하면서 사용할 수 있는 [SQL Editor]가 있습니다. 

 

 

 

SQL Editor를 켜서 메인화면에서 MySQL 서버에 root 계정으로 접속을 합니다.

그럼 익숙한 창이 뜨는데, MySQL Workbench이라는 이름과 함께 쿼리를 실행할수 있는 창이 뜹니다.

 

 

여기에서 "Users and Privileges"를 들어가게 되면, 유저를 추가도 하고 권한도 줄수 있습니다. 단, 어찌된 영문인지 Authentication Type: 이라 되어 있는 부분은 선택을 할수가 없습니다.

  위의 환경설정을 바꾸지 않았을때는 caching_sha2_password가 기본으로 되어 있는데, 환경설정 변경후에 standard로 바뀌어 있음을 확인할 수 있습니다.

 

이제 Adminstrative Roles에서 권한을 체크해서 주어주면, 해당 계정에서도 database 생성, 테이블 생성등이 모두 가능해집니다.

 

 

 

물론 명령어를 통해서도 권한을 줘도 상관없습니다. Workbench의 쿼리탭에서 아래의 명령어를 입력해주고 번개모양을 클릭하시면 실행됩니다.

 

//localhost 에서 접속하는 "user1"에게 모든 권한 부여 grant all privileges on *.* to 'user1'@'localhost' with grant option;

 

그리고 나서 다시 HeidSQL로 해당 계정으로 접속하면 깔끔하게 접속 완료!

 

[출처]https://baengsu.tistory.com/21

728x90
반응형


버전: MySQL Community Server 5.7.18

레지스트리에 남는게 싫어 zip 형식의 mysql 을 다운받아 압축을 풀었다.
다른 블로그의 설치방법을 보면 my-default.ini 파일을 my.ini 파일로 변경하여 설정하는 것으로 나와있는데 내가 받은 버전에선 ini파일이 보이지 않았다.
1004lucifer


알아보니 해당 버전의 릴리즈 노트에 ini파일이 더이상 소스패키지나 배포패키지에 포함되지 않는다고 기술되어 있었다.

The my-default.cnf.sh file (used to produce a default my-default.cnf or my-default.ini file) is no longer included in source distributions and my-default.cnf and my-default.ini are no longer included in or installed by distribution packages. (Bug #22525354)

(https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-18.html#mysqld-5-7-18-packaging)

 

 

MySQL 폴더를 압축해제했을 때 my.ini가 있는 경우는 옛날 버전(5.7.17이하)


728x90

+ Recent posts