INNODB 테이블 중 하나에서 동시 truncate table 명령으로 인해 서버가 오늘 추락했습니다. 서버를 다시 시작할 수는 있지만 시작한 후 SQL 명령을 실행할 때마다 다음 오류가 발생합니다.
ERROR 2006 (HY000): MySQL server has gone away
이것은 로그에서 일어난 일입니다.
121206 01:11:12 mysqld restarted
121206 1:11:13 InnoDB: Started; log sequence number 275 559321759
InnoDB: !!! innodb_force_recovery is set to 1 !!!
121206 1:11:13 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.0.95-log' socket: '/var/lib/mysql/mysql.sock' port: 3306 Source distribution
InnoDB: Error: trying to load index PRIMARY for table
InnoDB: but the index tree has been freed!
121206 1:11:37 - mysqld got signal 11 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefully help diagnose
the problem, but since we have already crashed, something is definitely wrong
and this may fail.
key_buffer_size=134217728
read_buffer_size=1048576
max_used_connections=1
max_connections=400
threads_connected=1
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 950272 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.
thd=0x9900950
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
Cannot determine thread, fp=0x46353fa0, backtrace may not be correct.
Stack range sanity check OK, backtrace follows:
(nil)
New value of fp=0x9900950 failed sanity check, terminating stack trace!
Please read http://dev.mysql.com/doc/mysql/en/using-stack-trace.html and follow instructions on how to resolve the stack trace. Resolved
stack trace is much more helpful in diagnosing the problem, so please do
resolve it
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort...
thd->query at 0x993e500 =
thd->thread_id=1
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.
온라인으로 검색했는데 MySQL 버그라는 힌트를 얻었지만 어떻게 해결 해야할지 모르겠습니다. MySQL 버전 5.0.95를 사용하고 있습니다.
새 데이터베이스를 작성하고 이전 데이터를 새 데이터베이스에 덤프 해야하는 것처럼 보이지만 현재 데이터베이스에 SQL 명령을 발행 할 수없는 경우 어떻게 할 수 있습니까?
--- 업데이트 ---
버전 : '5.0.95-log'소켓 : '/var/lib/mysql/mysql.sock'포트 : 3306 소스 배포 InnoDB : 오류 : InnoDB 테이블에 대해 PRIMARY 인덱스를로드하려고합니다. 인덱스 트리가 해제되었습니다! 121206 4:13:41-mysqld는 신호 11을 얻었다; 버그가 발생했기 때문일 수 있습니다. 이 바이너리 또는 링크 된 라이브러리 중 하나가 손상되었거나 잘못 빌드되었거나 잘못 구성되었을 수도 있습니다. 이 오류는 하드웨어 오작동으로 인해 발생할 수도 있습니다. 문제를 진단하는 데 도움이되는 정보를 긁어 내기 위해 최선을 다할 것입니다. 그러나 이미 충돌했기 때문에 무언가 잘못되어 실패 할 수 있습니다.
key_buffer_size=134217728
read_buffer_size=1048576
max_used_connections=1
max_connections=400
threads_connected=1
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 950272 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.
thd=0x17fb8950
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
Cannot determine thread, fp=0x464a3fa0, backtrace may not be correct.
Stack range sanity check OK, backtrace follows:
(nil)
New value of fp=0x17fb8950 failed sanity check, terminating stack trace!
Please read http://dev.mysql.com/doc/mysql/en/using-stack-trace.html and follow instructions on how to resolve the stack trace. Resolved
stack trace is much more helpful in diagnosing the problem, so please do
resolve it
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort...
thd->query at 0x17ff6500 =
thd->thread_id=3
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.
Number of processes running now: 0
121206 04:13:41 mysqld restarted
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
121206 4:13:42 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
121206 4:13:43 InnoDB: Started; log sequence number 275 559323148
121206 4:13:43 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.0.95-log' socket: '/var/lib/mysql/mysql.sock' port: 3306 Source distribution