phpmyadmin 오류질문입니다.
본문
유독 g5_point 테이블 최적화를 하면 다음과 같은 오류가 나버립니다.
다른 테이블은 안 그렇거든요. 혹시 원인이 무엇인지 알 수 있을까요?
아래는 오류 내용입니다.
Warning in ./libraries/classes/Dbal/DbiMysqli.php#246
mysqli::query(): MySQL server has gone away
Backtrace
DbiMysqli.php#246: mysqli->query(
string 'OPTIMIZE TABLE `g5_point`;',
integer 0,
)
DatabaseInterface.php#213: PhpMyAdmin\Dbal\DbiMysqli->realQuery(
string 'OPTIMIZE TABLE `g5_point`;',
,
integer 0,
)
DatabaseInterface.php#1401: PhpMyAdmin\DatabaseInterface->tryQuery(
string 'OPTIMIZE TABLE `g5_point`;',
integer 256,
integer 0,
boolean false,
)
Maintenance.php#112: PhpMyAdmin\DatabaseInterface->fetchResult(string 'OPTIMIZE TABLE `g5_point`;')
MaintenanceController.php#165: PhpMyAdmin\Table\Maintenance->getOptimizeTableRows(
string 'dbs5941607',
array,
)
Routing.php#187: PhpMyAdmin\Controllers\Table\MaintenanceController->optimize(array)
index.php#18: PhpMyAdmin\Routing::callControllerForRoute(
string '/table/maintenance/optimize',
,
,
)
Warning in ./libraries/classes/Dbal/DbiMysqli.php#246
mysqli::query(): Error reading result set's header
Backtrace
DbiMysqli.php#246: mysqli->query(
string 'OPTIMIZE TABLE `g5_point`;',
integer 0,
)
DatabaseInterface.php#213: PhpMyAdmin\Dbal\DbiMysqli->realQuery(
string 'OPTIMIZE TABLE `g5_point`;',
,
integer 0,
)
DatabaseInterface.php#1401: PhpMyAdmin\DatabaseInterface->tryQuery(
string 'OPTIMIZE TABLE `g5_point`;',
integer 256,
integer 0,
boolean false,
)
Maintenance.php#112: PhpMyAdmin\DatabaseInterface->fetchResult(string 'OPTIMIZE TABLE `g5_point`;')
MaintenanceController.php#165: PhpMyAdmin\Table\Maintenance->getOptimizeTableRows(
string 'dbs5941607',
array,
)
Routing.php#187: PhpMyAdmin\Controllers\Table\MaintenanceController->optimize(array)
index.php#18: PhpMyAdmin\Routing::callControllerForRoute(
string '/table/maintenance/optimize',
,
,
)
답변 3
g5_point 테이블이 데이터가 많아서 처리시간이 길어서일 가능성이 큽니다.
관련 설정값 변경 후(my.cnf) DB 서버 재시작이 필요합니다.
아니면 워크벤치나 하이델에스큐엘을 써보세요
이 에러 메시지는 MySQL 서버와의 연결이 끊어졌음을 나타냅니다. 이는 일반적으로 다음과 같은 이유로 발생합니다:
-
서버 시간 초과: MySQL 서버가 설정된 시간 초과 시간 동안 활동이 없으면 연결을 끊을 수 있습니다. 이 경우, 연결을 다시 시작하면 해결될 수 있습니다.
-
서버 과부하: 서버에 너무 많은 요청이 도달하면 서버가 응답을 중지하고 연결을 끊을 수 있습니다. 이 경우, 서버 부하를 줄이는 방법을 찾아야 합니다.
-
네트워크 문제: 네트워크 연결에 문제가 있으면 MySQL 서버와의 연결이 끊어질 수 있습니다. 이 경우, 네트워크 연결 상태를 확인해야 합니다.
또한, "Error reading result set’s header"라는 에러는 결과 세트의 헤더를 읽는 데 문제가 발생했음을 나타냅니다. 이는 일반적으로 데이터베이스 서버에 문제가 있을 때 발생합니다.
이 문제를 해결하기 위해 다음을 시도해 보세요:
MySQL db를 리페어 해보고도 안되면 서버를 재시작해 보세요.
pma 버전 문에일수도 있으니 저도 워크벤치 추천드립니다!