본문 바로가기

전체 글205

pt-kill pt-kill은 이해하기 어렵고 예제가 많지 않습니다. pt-kill의 가장 일반적인 사용법에 대해 알아 봅시다. pt-kill 은 SHOW PROCESSLIST에서 쿼리를 캡처하고 필터링한 다음 종료하거나 인쇄합니다. 용도는 너무 많은 리소스를 소비할 수 있는 쿼리를 감시하고 종료하는 것입니다. 보통은 쿼리 종료에 사용하지만 주어진 옵션에 따라 출력도 할 수 있습니다. 일반적으로 pt-kill 은 MySQL에 연결하여 SHOW PROCESSLIST에서 쿼리를 가져 오지만 파일에서 SHOW PROCESSLIST 출력을 읽을 수 있습니다. 이 경우 pt-kill 은 MySQL에 연결하지 않으며 '--kill' 옵션이 효과가 없습니다. '--print'는 파일을 읽을 때 대신 사용해야 합니다. 파일을 읽는 .. 2021. 8. 19.
ONLY_FULL_GROUP_BY SQL 쿼리 실패 MySQL을 업그레이드 한 후 정상적으로 수행되던 쿼리가 "ERROR 1055 (42000): Expression #2 of SELECT list is not in GROUP BY clause" 에러와 함께 수행이 되지 않는 경우가 있습니다. ERROR 1055 (42000): Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'test.web_log.user_id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by SQL_MODE .. 2021. 8. 12.
MySQL sorted index 생성 인덱스 처리에 대해 이해하고 있다면 데이터 삽입을 위한 적절한 공간을 예약하려는 경우에 도움이 될 수 있습니다. MySQL 5.7부터 이전 릴리스에서 사용된 하향식 접근 방식이 아닌 상향식 접근 방식을 적용하여 InnoDB용 보조 인덱스를 구축하는 방식으로 변경했습니다. 인덱스 구축 프로세스 기존 데이터가 있는 테이블에 인덱스를 작성하기 위한 단계가 있습니다. 읽기 단계(클러스터형 인덱스에서 읽고 보조 인덱스 항목 작성) 병합 정렬 단계 삽입 단계(정렬된 레코드를 보조 색인에 삽입) 버전 5.6까지 MySQL은 한 번에 하나의 레코드를 삽입하여 보조 인덱스를 구축했습니다. 이것은 "하향식" 접근 방식입니다. 삽입 위치에 대한 검색은 루트(위쪽)에서 시작하여 적절한 리프 페이지(아래쪽)에 도달합니다. 레코.. 2021. 8. 6.
innodb_open_files과 open_files_limit MySQL 구성 변수의 설정은 데이터베이스 시스템의 성능에 근본적인 영향을 미칩니다. 때로는 한 변수를 변경하는 것이 다른 변수에 어떤 영향을 미칠 수 있는지 예측하는 것이 약간 까다로울 수 있습니다. 특히 결과가 매우 직관적이지 않은 경우를 처리할 때 그렇습니다. 따라서 여기에서는 open_files_limit이 innodb_open_files보다 높게 설정하면 어떻게 되는지 살펴보겠습니다. 다음을 사용하여 MySQL 구성 파일에서 열린 파일의 최대 수를 설정할 수 있습니다. open_files_limit=10000 이 값이 설정되지 않은 경우 기본값(MySQL 5.7에서는 5,000)을 사용해야 합니다. open_files_limit 값이 설정되면 infinity로 설정되지 않는 한 SystemD의 .. 2021. 8. 4.