본문 바로가기
반응형

개발/DB3

[MySQL] Authentication plugin 'caching_sha2_password' cannot be loaded ODBC를 이용하여 MySQL에 접속하려고 했는데 아래와 같은 에러가 발생하였다. [unixODBC][ma-2.0.15]Plugin caching_sha2_password could not be loaded:/lib/plugin/caching_sha2_password.so: 동적 오브젝트 파일을 열 수 없습니다: 그런 파일이나 디렉터리가 없습니다 원인을 찾아보니 8.x 부터 인증방식이 달라져서라고.. 기존의 client로 접속할 경우 발생할 수 있다. 기존의 client에서 접속할 수 있도록 기존 인증 방식을 사용할 수 있도록 해야 했다..! 해결방법 1 ALTER USER '계정ID'@'localhost' IDENTIFIED WITH mysql_native_password BY '계정PW'; 이 방법을.. 2022. 5. 20.
[DB] UUID를 PK(Primary Key)로 사용하는 이유? UUID란? Universally unique identifier 네트워크 상에서 고유성이 고장되는 ID를 만들기 위한 표준 규약으로 랜덤하게 생성되는 값이며, 중복될 확률이 0%는 아니지만 매우 희박하다. DB 관련 서적을 보거나 서치를 하면 PK를 auto_increment로 사용하는 경우가 많고, 이렇게 사용하는게 좋다고들 얘기한다. PK를 auto_increment로 사용하는 것은 좋지만 이 PK값이 URL 혹은 공개된 곳에 노출된다면? 이 값은 단순하게 증가하는 값이라 유추하기 쉽고, 이로 인해 다른 데이터에 쉽게 접근할 수 있다. 즉, 예측 가능한 모델이 되므로 크롤링이나 인젝션 공격에 더 취약하다. 따라서 쉽게 유추할 수 없도록 UUID를 PK로 사용하게 되는 것! 2022. 1. 17.
[DB] GROUP BY 각 그룹에서 마지막(최신) 데이터 가져오기 GROUP BY는 집계 함수의 결과를 특정 칼럼 기준으로 묶어 출력해주는 쿼리인데 GROUP BY를 하게 되면 특정 칼럼과 집계 함수 외에 다른 컬럼은 조회할 수가 없다. PostgreSQL같은 경우는 다른 칼럼을 조회하려고 하면 아래와 같은 에러가 발생한다. SQL Error [42803]: 오류: column "test.id" 는 반드시 GROUP BY 절내에 있어야 하던지 또는 집계 함수 내에서 사용되어져야 한다 MySQL은 GROUP BY의 칼럼 외에도 조회가 가능하지만 정확한 데이터가 아니다. 그리고 특정 데이터베이스에 구애받지 않아야 한다. name 칼럼을 group by 하여 마지막 날짜의 value를 가져오는 쿼리를 작성하고자 했다. 데이터는 아래와 같다. name별 value의 합계는 간.. 2021. 12. 24.
728x90
반응형