MySQL이 예기치 않게 종료됨: XAMPP MySQL 오류를 해결하는 방법

게시 됨: 2024-03-21

런타임 오류는 라이브 서버 사용자와 로컬 서버 사용자 모두에게 일반적입니다. "MySQL이 예기치 않게 종료되었습니다"는 XAMPP를 로컬 개발 환경으로 사용할 때 많은 개발자, 엔지니어 및 데이터베이스 관리자가 직면하게 되는 메시지입니다. 이 상황은 짜증나는 일일 수도 있지만 드문 문제는 아닙니다. 좋은 소식은 고칠 수 있다는 것입니다. 우리는 여기에 당신의 등을 대고 있습니다.

이 가이드에서는 "예기치 않게 MySQL 종료" 메시지가 나타나는 이유와 이 XAMPP MySQL 오류를 해결하는 방법에 대해 설명합니다.

문제의 근본 원인을 논의하는 것부터 시작하는 것이 중요합니다. 하지만 먼저 XAMPP에 대해 자세히 알아보겠습니다.

MySQL이 예기치 않게 종료되었습니다. XAMPP MySQL 오류.

XAMPP의 기본 이해

XAMPP는 본질적으로 무료 오픈 소스 크로스 플랫폼 웹 서버 솔루션 패키지입니다. Windows, macOS, Linux 등 다양한 운영 체제에서 작동하여 로컬 웹 서버 환경을 생성하고 관리합니다.

XAMPP를 사용하면 사용자는 새로운 기능을 쉽게 테스트하고, 코드를 디버깅하고, 프로젝트가 다양한 환경에서 원활하게 실행되는지 확인할 수 있습니다. XAMPP를 사용하면 WordPress 웹사이트를 운영하는 데 필요한 소프트웨어를 설정할 수도 있습니다.

이로 인해 개발자, 특히 WordPress와 같은 PHP 기반 애플리케이션을 사용하는 개발자 사이에서 인기 있는 선택이 되었습니다.

XAMPP는 다음을 의미합니다.

X: 크로스 플랫폼,

A: 널리 사용되는 웹 서버 소프트웨어인 Apache HTTP Server입니다.

남: 웹사이트 데이터를 저장하기 위한 데이터베이스 관리 시스템인 MariaDB(원래 MySQL)입니다.

P: PHP는 동적 웹 콘텐츠 개발에 사용되는 스크립팅 언어입니다.

P: 웹 개발 및 기타 작업에 사용할 수 있는 프로그래밍 언어인 Perl입니다.

시스템에 대한 더 나은 아이디어를 바탕으로 이 오류의 원인을 논의해 보겠습니다.

XAMPP의 MySQL 종료 오류 소개

XAMPP 오류 "MySQL이 예기치 않게 종료되었습니다"는 개발 환경 내의 MySQL 서비스가 작동을 멈췄음을 나타냅니다. MySQL을 수동으로 중지하지 않아도 됩니다. 서버를 다시 시작하는 동안 예상치 못한 종료가 발생하는 등 다양한 이유로 이 작업을 수행할 수 있습니다.

MySQL이 예기치 않게 다운되면 웹사이트가 데이터베이스와 통신할 수 없습니다. 이는 특히 모든 작업에서 데이터베이스 연결에 크게 의존하는 WordPress와 같은 데이터베이스 기반 플랫폼의 경우 중요한 문제입니다.

XAMPP 인터페이스 내에서 특히 이벤트 로그에 강조 표시된 특정 오류의 문제 해결을 안내하는 메시지를 볼 수 있습니다.

XAMPP MySQL 오류의 변형

XAMPP에서 MySQL이 종료되면 다음 메시지 중 하나가 화면에 나타납니다.

  • MySQL이 예기치 않게 종료되었습니다.
  • 오류: MySQL이 예기치 않게 종료되었습니다.
  • MySQL 서비스가 시작되지 않습니다.
  • "다른 응용 프로그램에서 사용 중인 포트 3306"과 같은 포트 문제.
  • ibdata 파일 관련 문제를 가리키는 오류 메시지를 기록합니다.
  • MySQL 프로세스가 예기치 않게 종료되었습니다.

이러한 각 변형은 원인에 대한 단서를 제공하고 문제 해결에 도움이 될 수 있습니다.

XAMPP MySQL 오류의 원인

이 XAMPP MySQL 오류 "예기치 않게 MySQL 종료"가 발생하는 데는 여러 가지 이유가 있을 수 있습니다.

포트 충돌: MySQL은 기본적으로 3306을 사용합니다.다른 컴퓨터 애플리케이션이 이 포트를 사용하고 있으면 MySQL이 시작되지 않아 종료됩니다.

손상된 테이블 또는 데이터 파일: 디스크 문제, 예상치 못한 종료 또는 기타 이유로 인해 MySQL 파일이 손상된 경우 MySQL을 시작하지 못할 수 있습니다.

부적절한 구성: 잘못된 버퍼 크기나 메모리 할당 등 my.ini 파일의 잘못된 구성으로 인해 시작 오류가 발생할 수 있습니다.

권한 문제: MySQL은 데이터 파일에 액세스하고 작업을 수행하려면 특정 권한이 필요합니다.이러한 권한이 올바르지 않으면 MySQL의 작업이 중지될 수 있습니다.

XAMPP 오류 "MySQL이 예기치 않게 종료되었습니다" 수정

기다리고 있던 문제 해결 부분에 도달했습니다. XAMPP 오류를 수정하는 방법에 대한 단계별 가이드는 다음과 같습니다. "MySQL이 예기치 않게 종료되었습니다."

1. 포트 충돌 확인

Windows 사용자의 경우:

  1. 명령 프롬프트 열기: Win + R을 누르고 → cmd를 입력한 후 Enter를 누르세요.
  2. netstat 사용: netstat -ano |findstr 3306 → Enter를 누르세요. 이 명령은 MySQL의 기본 포트인 포트 3306을 사용하여 모든 애플리케이션을 검색합니다.
  3. 출력 해석: 출력 줄이 보이면 포트 3306을 사용하고 있는 것입니다. 충돌하는 애플리케이션을 식별하는 데 필요하므로 줄 끝에 있는 PID(프로세스 ID)를기록해 두십시오.

macOS/Linux 사용자의 경우:

  1. 터미널을 엽니다.
  2. lsof 사용: lsof -i :3306을 입력하고 → Enter 키를 누르세요.이 명령은 포트 3306을 사용하여 열려 있는 파일과 해당 애플리케이션을 나열합니다.
  3. 결과 읽기: 명령이 정보를 반환하면 포트 3306이 사용 중임을 의미합니다.제공된 애플리케이션 이름 또는PID를 기록해 두십시오.

포트 3306을 사용하는 애플리케이션을 식별한 후 충돌하는 애플리케이션의 포트 또는 MySQL 포트를 변경하여 문제를 해결하십시오.

옵션 1: 앞서 기록한 PID 또는 애플리케이션 이름을 사용하여 충돌하는 애플리케이션을 찾습니다. 애플리케이션에 대한 구성 설정 또는 파일을 찾습니다. 포트 번호 설정(3306으로 설정되어야 함)을 찾아 다른 포트 번호로 변경합니다. 변경 사항을 저장합니다.

3306 포트를 변경합니다.

옵션 2: XAMPP에서 MySQL의 포트 변경: XAMPP MySQL 폴더에 있는 my.ini 파일을 열고 포트(일반적으로 포트=3306)를 지정하는 줄을 찾아 사용 가능한 포트로 변경합니다.이렇게 변경한 후 MySQL을 다시 시작하십시오.

2. 손상된 테이블이나 데이터 파일 복구

우리가 배운 것처럼 XAMPP 내에 손상된 MySQL 테이블이나 데이터 파일이 있어 MySQL 종료가 예기치 않게 발생하는 문제가 있을 수 있습니다. 손상을 식별하는 단계는 다음과 같습니다.

  1. XAMPP 설치 디렉터리로 이동 →mysql\data 폴더 로 이동합니다 .MySQL이 데이터베이스 파일을 저장하는 곳입니다.
  2. 무엇이 잘못되었는지에 대한 정보가 포함될 수 있는 오류 로그 파일인.err 파일을 찾으십시오 .
  3. 데이터베이스 이름을 딴 파일을 검토합니다. 평범하지 않은 파일 크기와 수정 날짜는 손상의 지표일 수 있으므로 주의하세요.

손상된 파일을 식별한 경우. 해결 방법은 다음과 같습니다.

MyISAM 테이블의 경우

  1. 먼저 데이터를 백업하세요. 데이터베이스를 내보내거나 명령줄 도구에 익숙한 경우 mysqldump 명령을 사용하여 XAMPP의 phpMyAdmin을 통해 이 작업을 수행합니다.
  2. 명령 프롬프트(Windows) 또는 터미널(macOS/Linux)을 엽니다.

Windows 사용자의 경우 C:\xampp\mysql\bin 과 같이 cd 뒤에 경로를 입력하여 XAMPP MySQL 디렉터리 내의 bin 폴더로 이동합니다 .

명령줄에 myisamchk -r /path/to/your/table.MYI 를 입력하고 /path/to/your/table.MYI를수정해야 하는MyISAM테이블 의 실제 경로로 바꾸세요 . -r은 "복구"를 의미하며 테이블 복구를 목표로 합니다.

InnoDB 테이블 처리

InnoDB 테이블은 디자인 때문에 조금 더 까다로우며 myisamchk와 같은 간단한 도구는 없습니다.

  1. InnoDB 테이블 에 대한 오류 메시지는 mysql\data 디렉토리 내의 .err 파일을 살펴보세요 .이를 통해 무엇이 잘못되었는지에 대한 힌트를 얻을 수 있습니다.
  2. 강제 복구를 시도해보세요. MySQL을 복구 모드로 강제 전환합니다.my.ini(Windows) 또는 my.cnf(기타 OS)파일을 편집 하고[mysqld]섹션 innodb_force_recovery = 1을추가한 후 MySQL을 다시 시작합니다.

상황이 좋지 않으면 백업에서 복원하는 것이 가장 좋습니다. 손상된 테이블이나 데이터베이스를 교체할 수 있는 최신 제품이 있기를 바랍니다.

3. 구성 검토 및 조정

  1. 텍스트 편집기로my.ini 파일을 엽니다 .검토해야 할 주요 사항에는innodb_buffer_pool_size (증가하면 성능에 도움이 될 수 있음)와 basedirdatadir에 지정된 경로가 포함됩니다 .
  2. 잘못된 구성을 발견했거나 설정으로 인해 문제가 발생할 수 있다고 의심되는 경우 필요한 조정을 수행하십시오. 예를 들어innodb_buffer_pool_size가 워크로드에 비해 너무 낮게 설정된 경우 그에 맞게 늘리십시오.변경하기 전에 항상 원본my.ini 파일을 백업하십시오.

4. 올바른 권한 설정

MySQL 또는 XAMPP에는 특히 보안 소프트웨어의 업데이트 또는 변경 후에 디렉터리 및 파일에 액세스하는 데 필요한 권한이 없을 수 있습니다.

  1. MySQL 및 XAMPP 폴더의 권한을 확인하십시오.
  2. XAMPP를 실행하는 사용자 계정에 전체 액세스 권한이 있는지 확인하십시오.
  3. Windows에서는 XAMPP 폴더를 마우스 오른쪽 버튼으로 클릭하고 속성→ 보안 으로 이동하여 그에 따라 조정해야 할 수도 있습니다.
  4. macOS 및 Linux에서는chmod chown명령을 사용하여 올바른 권한을 설정하십시오.

5. 다시 시작하고 모니터링하세요.

수정 사항을 구현한 후 XAMPP 제어판을 통해 XAMPP, 특히 MySQL 서비스를 다시 시작합니다.

새로운 경고나 오류가 있는지 MySQL 오류 로그 파일을 주의 깊게 살펴보세요. 이 로그는 일반적으로 데이터 디렉터리에 있거나 my.ini 파일 내에 지정됩니다.

합산

로컬 서버 환경을 사용할 때 XAMPP MySQL 오류가 발생하는 "MySQL이 예기치 않게 종료되었습니다"는 일반적인 문제입니다. 문제를 해결하고 서버를 백업하는 방법을 아는 것도 중요합니다. 이 가이드에서는 XAMPP의 기본 사항, 작동 방식, 문제에 대해 알아보고 발생 이유, 당황하지 않고 단계별로 해결하는 방법을 안내했습니다.

로컬 XAMPP 서버를 사용하는 경우 문제가 다시 발생할 경우를 대비해 이 가이드를 가까이에 보관하세요. 걱정하지 마십시오. 전체 문제 해결 프로세스를 자세히 다루었습니다.