MySQL이 응답하지 않습니까? 진단 및 해결을 위한 간단한 가이드

Mary-Kate Olsen
풀어 주다: 2024-11-22 15:01:16
원래의
390명이 탐색했습니다.

MySQL Not Responding? A Simple Guide to Diagnosing and Fixing It

데이터베이스 관리자이든 개발자이든 MySQL 서버가 실행 중인지 확인하는 방법을 알면 가동 중지 시간을 방지하고 애플리케이션 성능을 유지할 수 있습니다. 이 가이드에서는 MySQL 서버의 상태, 실행 중인지 중지되었는지 확인하는 간단한 방법과 일반적인 문제를 해결하는 방법을 보여줍니다. 또한 세 가지 유형의 MySQL 쿼리 로그를 확인하는 방법과 이러한 로그가 데이터베이스 상태 모니터링 및 문제 해결에 중요한 이유에 대해서도 설명합니다.

MySQL이 실행 중인지 확인하는 방법

MySQL 서버가 운영 체제에 따라 실행되고 있는지 확인하는 데 다양한 명령을 사용할 수 있습니다. Linux에서는 터미널을 열고 다음을 입력하여 MySQL 서비스 상태를 확인할 수 있습니다.

systemctl status mysql
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

이 명령은 현재 상태 및 최근 로그 항목을 포함하여 MySQL 서비스에 대한 자세한 정보를 제공합니다. 또는 더 간단한 출력을 위해 다음을 사용할 수 있습니다.

sudo service mysql status
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

Windows 사용자의 경우 관리자로 명령 프롬프트를 열고 필터와 결합된 net start 명령을 사용하여 실행 중인 모든 서비스를 나열하고 MySQL과 관련된 서비스만 표시해야 합니다. 다음 명령을 실행하세요:

net start | findstr "MySQL"
로그인 후 복사
로그인 후 복사
로그인 후 복사

이 방법을 사용하면 Windows 시스템에서 MySQL 서비스가 활성화되어 있는지 신속하게 알 수 있습니다.

MySQL이 실행되지 않는 경우 문제를 해결하는 방법

MySQL이 실행되고 있지 않으면 몇 가지 단계를 수행하여 문제를 해결하고 다시 시작하여 실행할 수 있습니다.

  1. 로그를 먼저 확인하세요(시간이 허락한다면)
    추가 조치를 취하기 전에 시간과 능력이 있다면 MySQL 로그에서 잠재적인 문제를 확인하세요. 로그는 문제를 보다 정확하게 진단하는 데 도움이 되는 자세한 오류 메시지와 통찰력을 제공할 수 있습니다.

  2. MySQL 서비스 즉시 다시 시작
    시간이 부족하거나 가동 중지 시간을 방지하여 사용자에게 미치는 영향을 제한해야 하고 로그에 즉시 액세스할 수 없는 경우 MySQL 서비스를 다시 시작하여 신속하게 온라인 상태로 되돌릴 수 있습니다. 다시 시작한 후 로그를 검토하여 문제의 원인을 파악할 수 있습니다.

  3. 구성 파일 확인
    MySQL 구성 파일(일반적으로 my.cnf 또는 my.ini)이 올바르게 설정되었는지 확인하세요. 이러한 파일의 설정이 잘못되면 MySQL 서버가 시작되지 않을 수 있으므로 잘못 구성된 경로나 잘못된 권한과 같은 잠재적인 문제를 검토하고 수정하세요.

  4. 디스크 공간 확인
    MySQL에는 데이터 저장 및 작업을 위한 적절한 공간이 필요하므로 시스템에 사용 가능한 디스크 공간이 충분한지 확인하십시오. 디스크 공간이 부족하면 서버가 중지되거나 시작되지 않을 수 있으므로 필요한 경우 여유 공간을 확보하세요.

MySQL 서버 로그를 확인하는 방법

로그는 문제 진단, 성능 모니터링, MySQL 서버 동작 이해에 매우 중요합니다. MySQL이 예기치 않게 중지된 경우 로그를 검토하면 근본 원인에 대한 귀중한 통찰력을 얻을 수 있습니다. 이 가이드에서는 다양한 유형의 MySQL 로그를 확인하는 방법을 다룹니다.

  • 오류 로그
  • 일반 쿼리 로그
  • 느린 쿼리 로그

오류 로그 확인

오류 로그에는 서버 시작, 종료 및 발생하는 모든 오류에 대한 중요한 정보가 기록됩니다. 서버가 시작되지 않거나 올바르게 실행되고 있지 않은지 가장 먼저 확인하는 곳입니다.

Linux에서 보려면 다음 명령을 사용하세요.

systemctl status mysql
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

Windows에서는 MySQL 데이터 디렉터리에서 오류 로그 파일을 찾으세요. 일반적으로 다음 위치에 있습니다.

C:프로그램 파일MySQLMySQL 서버 8.0데이터

일반 쿼리 로그 확인

MySQL 일반 쿼리 로그는 연결 및 연결 해제 이벤트와 함께 서버에서 수신한 모든 SQL 쿼리를 기록하므로 서버가 중지되기 전에 문제가 있는 쿼리나 비정상적인 활동을 식별하는 데 도움이 됩니다. 이 로그는 모든 SQL 작업에 대한 포괄적인 시간순 계정을 제공하므로 문제 해결을 위한 귀중한 도구입니다.

일반 쿼리 로그를 활성화하는 방법

일반 쿼리 로그는 생성할 수 있는 데이터 양이 많기 때문에 기본적으로 활성화되지 않습니다. 다음 명령을 사용하여 시스템에서 이를 활성화해야 합니다:

sudo service mysql status
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

로그 파일 위치 설정

일반 쿼리 로그를 활성화한 후에는 로그 파일이 저장될 위치를 지정하는 것이 중요합니다. 이렇게 하면 로그 항목을 쉽게 찾고 관리할 수 있습니다. Linux에서는 MySQL 명령줄 클라이언트에서 다음 명령을 사용하여 로그 파일 위치를 설정할 수 있습니다.

net start | findstr "MySQL"
로그인 후 복사
로그인 후 복사
로그인 후 복사

Windows 시스템의 경우 다음을 입력하여 로그 파일 위치를 설정해야 합니다.

sudo cat /var/log/mysql/error.log
로그인 후 복사
로그인 후 복사

일반 쿼리 로그 보기

Linux에서 일반 쿼리 로그를 보려면 터미널에서 cat 명령을 사용하면 로그 파일의 내용을 표시할 수 있습니다.

SET GLOBAL general_log = 'ON';
로그인 후 복사
로그인 후 복사

Windows의 경우 메모장과 같은 텍스트 편집기를 사용하여 간단히 로그 파일을 열 수 있습니다.

느린 쿼리 로그 확인

MySQL 느린 쿼리 로그는 데이터베이스 성능에 부정적인 영향을 미치거나 서버 종료를 유발할 수도 있는 느리게 실행되는 쿼리를 식별하고 최적화하는 데 도움이 됩니다. 이 로그를 활성화하면 지정된 실행 시간을 초과하는 쿼리를 캡처하여 데이터베이스 작업의 비효율성과 병목 현상을 감지할 수 있습니다.

느린 쿼리 로그를 활성화하는 방법

MySQL의 느린 쿼리 로그는 기본적으로 켜져 있지 않습니다. 그러나 데이터베이스 성능을 저하시킬 수 있는 느린 쿼리를 찾아 수정하려면 이 기능을 활성화하는 것이 중요합니다. 활성화하려면 다음 명령을 사용하십시오.

systemctl status mysql
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

로그 파일 위치 설정

이제 느린 쿼리 로그가 활성화되었으므로 로그 파일이 저장될 위치를 설정해야 합니다. Linux용:

sudo service mysql status
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

Windows의 경우:

net start | findstr "MySQL"
로그인 후 복사
로그인 후 복사
로그인 후 복사

시간 임계값 설정

'느린' 쿼리의 조건을 정의하려면 시간 임계값을 설정해야 합니다. 이 임계값은 쿼리가 느린 것으로 기록되기 전까지 쿼리가 소요할 수 있는 최대 기간을 결정합니다. 일반적인 관행은 2초의 임계값으로 시작하는 것입니다. 이는 비효율적인 쿼리를 포착하는 것과 로그에 항목이 너무 많아지지 않는 것 사이에 좋은 균형을 제공하기 때문입니다.

예를 들어 실행하는 데 2초 이상 걸리는 쿼리를 기록하려면 다음 명령을 사용하여 시간 임계값을 설정할 수 있습니다.

sudo cat /var/log/mysql/error.log
로그인 후 복사
로그인 후 복사

느린 쿼리 로그 보기

느린 쿼리를 검토하고 잠재적인 성능 문제를 이해하려면 이제 느린 쿼리 로그를 확인해야 합니다.

Linux에서는 cat 명령을 사용하세요.

SET GLOBAL general_log = 'ON';
로그인 후 복사
로그인 후 복사

Windows의 경우 메모장과 같은 텍스트 편집기를 사용하여 간단히 로그 파일을 열 수 있습니다.

MySQL을 시작하고 중지하는 방법

구성 변경 사항 적용, 유지 관리 수행, 문제 해결 등 MySQL을 시작하거나 중지해야 하는 다양한 시나리오가 있습니다. 예기치 않은 종료로부터 복구하고 가동 중지 시간을 제한하려면 MySQL을 신속하게 다시 시작해야 할 수도 있습니다. 또는 잠재적인 데이터 손실이나 보안 문제를 방지하기 위해 비정상적인 활동이나 성능 관련 문제가 발견되면 즉시 MySQL을 중지해야 할 수도 있습니다.

Linux나 macOS에서는 터미널을 통해 MySQL 서비스를 관리할 수 있습니다. 필요에 맞는 관련 명령을 입력하세요.

SET GLOBAL general_log_file = '/var/log/mysql/mysql.log';
로그인 후 복사
SET GLOBAL general_log_file = 'C:/Program Files/MySQL/MySQL Server 8.0/data/mysql.log';
로그인 후 복사

Windows 사용자의 경우 관리자 권한으로 명령 프롬프트를 열어야 합니다. 그런 다음 관련 명령을 입력하십시오:

sudo cat /var/log/mysql/mysql.log
로그인 후 복사
SET GLOBAL slow_query_log = 'ON';
로그인 후 복사

구성 파일 확인

MySQL의 동작은 일반적으로 Unix 기반 시스템에서는 my.cnf, Windows에서는 my.ini라는 구성 파일에 의해 제어됩니다. 이러한 파일의 설정이 잘못되면 서버가 시작되지 않거나 작동 문제가 발생할 수 있습니다.

Linux/Unix 시스템: my.cnf 파일은 일반적으로 /etc/mysql/ 또는 /etc/에 있습니다. 이를 찾으려면 다음 명령을 사용할 수 있습니다.

SET GLOBAL slow_query_log_file = '/var/log/mysql/slow.log';
로그인 후 복사

Windows 시스템의 경우: my.ini 파일은 일반적으로 MySQL 설치 디렉터리, C:ProgramDataMySQLMySQL Server X.Y에 있습니다. 여기서 X.Y는 버전 번호를 나타냅니다. 찾으려면 파일 탐색기의 검색 기능을 이용하거나 설치 디렉터리를 직접 확인하면 됩니다.

구성 파일을 찾은 후 텍스트 편집기로 열어 설정을 검토하고 확인하세요. datadir, socket, port 등의 매개변수가 올바르게 구성되었는지 확인하세요. 여기서 구성이 잘못되면 시작 오류나 작동 문제가 발생할 수 있습니다.

디스크 공간 확인

MySQL을 운영하려면 적절한 디스크 공간이 중요합니다. 공간이 부족하면 서버 충돌이나 데이터 손상이 발생할 수 있습니다.

Linux/Unix 시스템: df 명령을 사용하여 디스크 공간을 확인할 수 있습니다.

systemctl status mysql
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

Windows 시스템: 디스크 공간을 확인하려면 명령 프롬프트를 열고 wmic 명령을 사용하세요.

sudo service mysql status
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

이 명령은 각 드라이브의 총 공간과 여유 공간을 표시합니다. 또는 Win R을 누르고 diskmgmt.msc를 입력한 후 Enter를 눌러 디스크 관리 도구를 사용할 수 있습니다. 이 도구는 디스크 사용량을 그래픽으로 표현합니다.

디스크 공간을 정기적으로 모니터링하면 MySQL이 효과적으로 작동할 수 있는 충분한 공간을 확보하여 예기치 못한 종료나 성능 저하를 방지할 수 있습니다.

상태 변수란 무엇입니까?

MySQL 서버 상태 변수는 MySQL 서버의 상태 및 기능에 관한 필수 정보를 제공합니다. 서버 활동에 대한 즉각적인 지표를 제공하므로 서버 성능에 영향을 주지 않고 작업을 감독할 수 있습니다.

중요한 InnoDB 데이터 및 버퍼 세부 사항을 포함하여 이러한 변수에 대한 자세한 내용은 MySQL 서버 상태 변수 참조를 참조하세요.

위 내용은 MySQL이 응답하지 않습니까? 진단 및 해결을 위한 간단한 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿