오늘은 협업 업체에서 사내 DB에 연결 시에 max_connect_errors 관련 에러가 뜬다고 해서, 관련내용을 포스팅해보려고 한다. 참고로 나는 블랭 아니고 블랑이다... 맥주 블랑을 좋아해서 입사할 때 영어이름을 Blanc으로 정했는데 그 뒤로 블랑 쳐다도안본다...^^ 아무튼 이처럼 DB접속이 불가능 하고, max_connection_errors 수치 변경을 요청하셨다. 아마도 이런 에러가 나왔을 것이다. ERROR 1129(00000): Host '*' is blocked because of many connection errors. Unblock with 'mysqladmin flush-hosts 이제 max_connection_errors 가 뭔지 알아보자. max_connection_..
오늘은 Mysql에서 여러행의 데이터를 한 행의 데이터로 합치는 쿼리에 대해서 알아보자. 우선 각각의 테이블에 대해서 대략적으로 살펴보자. 위 두 테이블은 간단하게 설명하자면, blanc_story_log 테이블은 뉴스의 정보가 담긴다고 보면 되고, ( "action" 컬럼에 "view" or "create" 존재) blanc_keyword_news 테이블은 해당뉴스의 키워드가 담긴다. (같은 뉴스에 키워드 최대 5개) 이런구조에서 두 테이블을 조인해서 뉴스가 생성 되었을때, 뉴스의 키워드 정보를 한 개의 uuid로우에 여러 키워드를 담고 싶었다. 우선 정답을 보고 쿼리를 하나씩 파헤쳐 보자. SELECT t1.uuid AS id_post, t1.user_uuid AS id_usr, t1.news_uui..
오늘은 Mysql에서 컬럼안에 JSON데이터를 추출하는 방법에 대해 알아보자. nm_post 라는 테이블안에 extras 라는 컬럼이 존재한다. 해당 컬럼은 JSON형식으로 다음과 같다. { "order": [ "post.news" ], "article": { "article_key": "123456789", "article_title": "아이브, 日 ‘골드디스크’ 2관왕 석권", "article_thumbnail": "https://123123123.jpg", "article_press_id": 21 } } 이 extras 컬럼안에 있는 "article_press_id"를 추출해서 검색하고 싶었다. 이때 JSON_EXTRACT 라는 함수를 사용하면 된다. JSON_EXTRACT(data, '$.nam..
Mysql에서 테이블 디자인을 변경하다가 생각 오류에 대해서 포스팅 해보려고 한다. 프로젝트를 하다가 컬럼에 NOT NULL 조건을 줘야되는 상황이여서 DB에서 테이블 디자인에서 NOT NULL 조건에 체크를 저장을 해주니 사진과 같은 에러가 발생했다. 해당 에러는 아주 단순한 문제이다. 조건을 변경하려는 컬럼을 이전에 NOT NULL 조건 없이 사용해서 해당 데이터에 NULL 값이 남아있어서 그렇다. NULL 인 값을 UPDATE문으로 전부 NULL이 아니게 바꿔주면 끝나는 문제다.