전체 글 1383

[ProxySQL] CONNECTING_CLIENT_STATE_SERVER_HANDSHAKE 오류

[ProxySQL] CONNECTING_CLIENT_STATE_SERVER_HANDSHAKE 오류 l Version : ProxySQL 2.4.2 ProxySQL에서 백엔드 어플리케이션이 접속하는 포트로 로그인이 안되는 문제가 발생하였다. ProxySQL의 로그를 확인해 보니 아래와 같은 로그가 기록되어 있다. MySQL_Session.cpp:5094:handler___status_CONNECTING_CLIENT___STATE_SERVER_HANDSHAKE():[ERROR] ProxySQL Error: Access denied for user 'user'@'ip' (using password: YES) MySQL_Session.cpp:5094:handler___status_CONNECTING_CLIENT..

MySQL, MariaDB 2023.12.11

[MySQL] Galera 클러스터 이름 길이 초과로 인한 클러스터 조인 오류

[MySQL] Galera 클러스터 이름 길이 초과로 인한 클러스터 조인 오류 l Version : MySQL Percona Cluster, Galera Cluster MySQL Percona 클러스터를 구성하고, Primary 서비스를 정상적으로 구동한 후 Secondary 서버를 클러스터에 조인하려고 할 때 아래와 같은 오류와 함께 클러스터 조인에 실패하였다. Secondary의 경우 서비스가 시작될 때 my.cnf에 정의되어 있는 정보에 따라 클러스터 조인을 자동으로 시도하고 클러스터 조인에 실패할 경우 MySQL이 정상적으로 실행되지 않는다. 2023-12-06T10:02:52.460279Z 0 [ERROR] [MY-000000] [Galera] failed to open gcomm backend..

MySQL, MariaDB 2023.12.08

[MySQL] SHOW PROCESSLIST로 현재 실행중인 스레드 목록 확인하기

[MySQL] SHOW PROCESSLIST로 현재 실행중인 스레드 목록 확인하기 l Version : MySQL MySQL에서 현재 실행중인 스레드 목록을 확인하기 위해서는 SHOW PROCESSLIST 명령어를 사용할 수 있다. PROCESS 권한이 있으면 다른 사용자에게 속한 스레드까지 포함하여 모든 스레드를 볼 수 있다. 그렇지 않으면 익명이 아닌 사용자는 자신의 스레드에 대한 정보에만 액세스할 수 있어 다른 사용자의 스레드 정보는 확인할 수 없다. SHOW PROCESSLIST 명령문은 정보 필드에 각 문의 처음 100자만 표시한다. info 컬럼에 현재 실행중인 SQL문 전체를 표시하고 싶을 경우 SHOW FULL PROCESSLIST 명령을 사용한다. 아래 명령어를 사용하여 실행중인 스레드의..

MySQL, MariaDB 2023.12.04

[MySQL] Stopping Purge/Resuming Purge in Error Logs

[MySQL] Stopping Purge/Resuming Purge in Error Logs l Version : MySQL 5.7 X MySQL 5.7.X 운영환경에서 아래와 같은 로그가 잔뜩 기록되어 있었다. 계속해서 반복되는 Stoppoing purge과 Resuming purge는 오류로 기록되고 있지는 않았지만, 반복해서 남는 로그에 원인이 궁금했다. 023-11-22T15:27:13.249813Z 4 [Note] InnoDB: Stopping purge 2023-11-22T15:27:13.363487Z 4 [Note] InnoDB: Resuming purge 2023-11-22T15:27:13.462275Z 4 [Note] InnoDB: Stopping purge 2023-11-22T15:27..

MySQL, MariaDB 2023.12.01

[MySQL] 삭제 마킹된 데이터를 물리적으로 제거하는 purge thread 와 설정을 위한 innodb_purge_threads 변수 알아보기

[MySQL] 삭제 마킹된 데이터를 물리적으로 제거하는 purge thread 와 설정을 위한 innodb_purge_threads 변수 알아보기 l Version : MySQL 5.5 later MySQL purge thread는 삭제 표시된 레코드를 물리적으로 제거하는 작업을 하는 스레드이다. 쉽게 설명하면 가비지 컬렉션과 같은 역할이다. DELETE 쿼리 등에 의해 삭제되었다고 마킹된 데이터에 대해서 물리적으로 삭제 작업을 한다. MySQL의 innodb_purge_threads 변수는 InnoDB 스토리지 엔진에서 제거 작업 전용 스레드 수를 제어하는 ​​데 사용된다. Purge thread는 더 이상 필요하지 않은 행을 삭제하는 프로세스이다. 일반적으로 이러한 상황은 해당 행이 삭제 또는 업데이..

MySQL, MariaDB 2023.11.24

[Grafana] Grafana에서 이메일 알림 보내기

[Grafana] Grafana에서 이메일 알림 보내기 l Grafana, PMM Grafana(“그라파나”)에서는 이상 징후를 감지했을 때, 대시보드 패널에서 알림 규칙을 추가하여 다양한 방식으로 알림을 받을 수 있다. 이번 포스트에서는 그라파나에서 이메일로 알람을 보낼 수 있도록 설정하는 방법에 대해서 알아본다. 알람을 이메일로 보내기 위해서는 그라파나에서 SMTP 설정을 해야한다. 물론 SMTP 로 사용할 이메일 서버에서는 SMTP 서비스가 허용되어 있어야 한다. 그라파나가 설치된 서버에서 Grafana.ini 설정파일을 수정하여 SMTP 정보를 등록한다. vi /etc/Grafana/Grafana.ini 설정파일에서 아래 내용을 참고하여 추가하도록 한다. [smtp] enabled = true h..

[PMM] PMM Client 실행시 사용되는 동적 포트 변경하기

[PMM] PMM Client 실행시 사용되는 동적 포트 변경하기 l Version : PMM 2.X 이번 포스트는 PMM Client의 설정 파일을 수정하여 동적 포트의 범위를 제한하는 방법에 대해서 알아본다. PMM은 Percona Monitoring and Management의 약자로 PostgreSQL 및 MySQL, MongoDB를 위한 오픈소스 데이터베이스 모니터링 및 관리 솔루션이다. 이를 통해 데이터베이스 시스템의 상태를 관찰하고, 동작의 새로운 패턴을 탐색하고, 문제를 해결하고, 온프레미스나 클라우드 어디에 있든 데이터베이스 관리 작업을 수행할 수 있다. PMM은 데이터베이스와 해당 호스트로부터 수천 개의 기본 성능 지표를 수집한다. 그리고 웹 UI 대시보드를 제공하여 데이터를 시각화 한..

MySQL, MariaDB 2023.11.15

[MySQL] MySQL에서 caching_sha2_password 특징 및 mysql_native_password 사용하기

[MySQL] MySQL에서 caching_sha2_password 특징 및 mysql_native_password 사용하기 l Version : MySQL 8.0 MySQL은 다양한 계정 인증 플러그인 방식을 지원하고 있다. 현재 공식 매뉴얼에 따르면 13개의 인증 방식을 제공하고 있다. l https://dev.mysql.com/doc/refman/8.0/en/authentication-plugins.html 이번 포스트에서는 다양한 플러그인 중에 MySQL 8버전부터 변경된 인증 방식인 caching sha2_password에 대해서 알아보고 MySQL 8버전에서 이전 버전의 mysql_native_password를 사용하는 방법에 대해서 알아본다. MySQL 5.7버전까지는 기본 인증 방식이 my..

MySQL, MariaDB 2023.11.13

[MySQL] MySQL에서 SSL 인증서 사용하기

[MySQL] MySQL에서 SSL 인증서 사용하기 l Version : MySQL 8.0 MySQL에서 SSL 통신을 위해서는 인증서를 사용하게 되는데, 이때 인증서는 MySQL을 시작할 때 자동으로 생성되기도 하며, 수동으로 생성할 경우 openssl 등을 사용하여 생성할 수 있다. 또한 타사 서비스와 연동이 필요한 경우 타사의 인증서를 등록해서 사용할 경우가 있는데, 이때 pem 확장자 형식으로 인증서를 변환해서 사용할 수 있다. MySQL 시작 시 생성되는 인증서는 보통 데이터 디렉토리(data directory)에 생성되며 아래와 같은 인증서 파일이 생성된다. l ca.pem : self-signed CA cetificate l ca-key.pem : CA private key l private..

MySQL, MariaDB 2023.11.09

[MySQL] [InnoDB] Failed to create check sector file, errno:13 Please confirm O_DIRECT is supported 오류 및 해결

[MySQL] [InnoDB] Failed to create check sector file, errno:13 Please confirm O_DIRECT is supported 오류 및 해결 l Version : MySQL 8.0 MySQL을 시작할 때, 정상적으로 서비스가 시작되지 않았으며 아래와 같은 오류 로그를 확인할 수 있었다. [ERROR] [MY-012655] [InnoDB] Failed to create check sector file, errno:13 Please confirm O_DIRECT is supported and remove the file /var/lib/check_sector_size if it exists. Error 13에 대해서 찾아보면 공식 매뉴얼에는 퍼미션에 관련된 ..

MySQL, MariaDB 2023.11.02