에러 발생 신나게 개발하던 중 마주한 에러..2024-07-04 10:48:58 [http-nio-9091-exec-5] [WARN ] o.h.q.i.QueryParameterBindingsImpl - HHH000443: Dialect [com.~~~] limits the number of elements in an IN predicate to 2100 entries. However, the given parameter list [memberIds] contained 3417 entries, which will likely cause failures to execute the query in the database2024-07-04 10:48:58 [http-nio-9091-exec-5] [WARN ]..
DataBase
DB Connection Pool 수를 조회해야 할 일이 생겼다. 현재 DB에 연결된 세션 정보도 함께 조회하기 위해 아래의 쿼리를 작성했다. 필요할 때마다 쉽게 찾을 수 있도록 마찬가지로 기록해둔다. 현재 Connection Pool 수 /* 현재 Connection Pool 수 */ SELECT DB_NAME(dbid) AS 'Database', COUNT(dbid) AS 'Connection Pool Count' FROM sys.sysprocesses WHERE dbid > 0 GROUP BY dbid; 전체 Connection Pool 수 /* 전체 Connection Pool 수 */ SELECT COUNT(dbid) AS 'Total Connection Pool Count' FROM sys.s..
에러 발생 예전에 회사에서 원격으로 근무하고 있던 동료 개발자로부터 에러가 발생했다고 공유 받았다. DB는 MySQL이며 아래와 같은 에러 메세지가 떴다고 한다. ERROR 1129(00000): Host '*' is blocked because of many connection errors. Unblock with 'mysqladmin flush-hosts' 에러 원인 검색해보니 바로 원인을 알 수 있었다. 원격 서버에서 MySQL 서버로 연결한 뒤 close를 하면 MySQL은 비정상적인 접속으로 판단해 해당 IP를 블락 처리한다고 한다. 이 때 MySQL에서 이와 같은 비정상적인 접속 요청 수를 카운팅해서 global.max_connect_errors에 지정된 값을 넘기면 자동 블락 처리가 되어 생..

SELECT Query문은 FROM/JOIN, WHERE, GROUP BY, HAVING, SELECT, ORDER BY 순서로 실행된다. 1. FROM/JOIN 절 Query 실행 시 FROM 절이 가장 먼저 실행된다. FROM 절에서는 조회할 테이블을 지정하고, 이후 JOIN을 실행해 하나의 가상 테이블로 결합한다. FROM 절이 가장 먼저 실행되기 때문에 WHERE에서 JOIN된 테이블의 필드를 사용할 수 있는 것이다. 2. WHERE 절 WHERE 절에서는 조회해온 테이블에서 조건에 맞는 데이터를 필터링한다. 3. GROUP BY 선택한 컬럼을 기준으로 그룹핑을 진행한다. 4. HAVING 절 GROUP BY를 이용해 그룹핑 한 후에 각 그룹을 필터링할 때 사용되는 조건절이다. GROUP BY는 ..
MySQL에서 쿼리를 사용하다 보면 형변환이 필요할 때가 있다. 데이터 타입이 CHAR인 컬럼을 조회할 때 숫자 타입으로 바꿔서 조회하는 것이 필요한 경우가 있다. 특히 숫자로 이뤄진 컬럼인 줄 알고 정렬을 했는데 1, 11 111, 2, 23, 234, 33, ... 이렇게 정렬되는 경우가 있다. 아마 컬럼의 타입이 INT가 아니라 VARCHAR이기 때문일 것이다. 이때 MySQL에서는 CAST 함수 CONVERT 함수 둘 중 하나를 사용해 데이터 형변환을 할 수 있다. 변환 가능한 데이터 형식은 다음과 같다. BINARY[(N)] CHAR[(N)] [charset_info] DATE DATETIME DECIMAL[(M[,D])] JSON NCHAR[(N)] SIGNED [INTEGER] TIME UN..

최근 MySQL DB에서 data source rejected establishment of connection, message from server: "too many connections" 이라는 에러가 발생한 적 있다. 잘 되다가 갑자기 이런 에러가 떠서(코드나 DB 설정 등을 수정한 적도 없고, 개발자 여러 명이 어플리케이션 실행을 시킨 상황도 아닌 것으로 파악되는데,,) 당황스러웠지만 우선 에러를 직독직해 하면 알 수 있듯 Connection 문제라고 하니 연결된 Connection 수 먼저 체크했다. 정리해보자면 이 에러는 DB와 연결된 client의 수, 다른 말로는 DB와 연결된 접속 수가 너무 많아서 발생한 에러인데, 또 다시 같은 에러가 발생할 수 있으므로 DB에 최대한으로 접속 가능한..

파이썬에 이어 MongoDB까지 사용해볼 일이 생겼다. 기존 개인 토이프로젝트에서는 MySQL만 사용해보았고, 회사에서는 MSSQL, MySQL을 함께 쓰는데, MongoDB는 처음이니 다운로드와 설치부터 해보자! 1. MongoDB 설치파일 다운로드 MongoDB 다운로드 페이지로 접속(https://www.mongodb.com/try/download/enterprise) MongoDB Enterprise Server 클릭 후 본인 OS 선택 및 Package는 msi로 선택 후 다운로드 클릭 2022년 12월 1일 기준 가장 최신 버전은 6.0.3 버전 2. 설치파일 실행 다운로드 받은 설치파일 실행 라이센스 동의 조항 체크 후 next 두 가지 옵션 중 원하는 것으로 선택하면 된다.(나는 Compl..