티스토리 뷰

728x90

아래 링크는 개인 홈페이지에 각 쇼핑몰 판매량를 트레킹해서 만든 저렴한 딜 정보 모음페이지이다. 뽐뿌 같은 핫딜 사이트 가기 번거로워서 만들었는데, 고물과 시대에 아무 생각없이 사용하기 좋은 것 같다. 실시간 기반이고 go와 headless 베이스라 속도가 빠르다.

7~8일 정도 걸려서 만든 거라 나름 신경 썼다. 한번 들어가 보고 판단하길

 

Best Price

할인가 2,205,900 2,451,000 (10% off)

bestprice.pilseong.net

 

 

1. MySql 8.0은 SHA-256 hashing을 구현하는 두 가지 인증 플러그인을 지원한다.

  1-1 sha256_password - 기본적인 SHA-256 인증을 구현한 플러그인

  1-2 caching_sha2_password - sha256_password와 동일한데 성능 향샹을 위해 서버 캐싱을 이용한다.

  1-3 MySql 8.0의 기본 인증 플러그인은 예전의 mysql_native_password가 아니라 caching_sha2_password이다.

 

  1-4 문제는 caching_sha2_password를 사용하려면

    1-4-1 SSL 보안연결을 사용할거나

    1-4-2 RSA 보안을 적용한 비암호 연결을 사용해야 한다.

    1-4-3 위의 두가지 경우 caching_sha2_password 는 MySql의 보안모듈을 사용한다.

 

2. 따라서 보안 연결이나 RSA 보안을 사용하지 않으면 아래와 같은 에러가 발생한다.

 

Authentication plugin 'caching_sha2_password' cannot be loaded: 
dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2): image not found

 

3. 이 문제를 가장 쉽게 해결하는 방법은 그냥 구식 mysql_native_password를 사용하는 것이다.

  3-1 사용자의 암호를 아래의 DDL을 통해 구식 방식으로 변경할 수 있다.

 

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

 

  3-2 두번 째는 my.ini파일에 아래처럼 설정하고 사용하면 된다. 당연히 재기동 후에 생성된 User만 적용된다.

 

[mysqld]

default_authentication_plugin=mysql_native_password

 

4. 다른 방법은 그냥 아래처럼 SSL을 사용하지 않고 RSA도 사용하지 않게 명시하는 방법이다.

  4-1 이 경우 보안에 취약할 수 밖에 없다.

 

jdbc.url=jdbc:mysql://localhost:3306/spring_security?allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=Asia/Seoul

 

5. 에러가 안나서 Authentication Type을 caching_sha2_password, standard 둘 다 테스트 하는데

  5-1 url 설정과 상관없이 다 돌아간다. ㅋㅋㅋ 뭐가 문제인지 왜 다 되는지 나도 모르겠다. 아무튼 돌아가면 된다.

  5-2 위의 방법 중 하나는 돌아가니 그걸로 된 거다.

728x90
댓글