본문 바로가기

알.쓸.신.코

[생활밀착] mysql 시스템 변수 변경

2022/05/13

 

상황 : mysql 에서 제공하는방식을 사용하여 데이터를 암호화 및 복호화하여 검증하는 쿼리를 작성 했다. 

mysql에서 기본적으로 제공하는 암호화 모드를 사용하려 했으나 서비스 로직에서 사용하는 암호화 방식이 달라 수정 후 사용 하려던 중,

기본 값을 세팅하는 방법으로 @는 사용자 정의 변수, @@는 시스템 변수 설정하는 것을 알게 되었다.

그래서 서비스 변수를 변경하는 것이니 @@(암호화 모드) = "" 를 사용하여 암호화 후 서비스에서 사용하는 encrypter로 복호화 하니 원본 데이터와 값이 일치했다.

그러나 장소를 바꿔서 디비 연결 후 다시 암호화 후 복호화 하여 값을 비교하니 일치하지 않는 문제가 발생했다. 

 

원인 : @@(변수)가 시스템 변수를 설정하는 것은 맞았다. 그러나 @@.global 또는 @@session 을 설정하지 않으면 @@session 으로 설정 되는 것이 었다. 그래서 디비 연결을 끊고 다시 연결 했을 경우 시스템 기본 설정 값으로 변경이 되는 것이었다.

 

'알.쓸.신.코' 카테고리의 다른 글