2010-12-16 6 views
2

약 1 주일 전, 마침내 내 서버가 지속적으로 중단되는 원인을 파악했습니다.버그로 인해 MySQL이 계속 충돌합니다.

나는이 같은 오류를보고 계속 내 mysqld.log, 여기

101210 5:04:32 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295 

이 버그 리포트에 대한 링크입니다 검토 한 후, http://bugs.mysql.com/bug.php?id=35346 사람은 4M에 my.cnf 파일에 MAX_JOIN_SIZE의 vaule를 설정하는 것이 좋습니다, 그리고 나는 그랬다. 나는이 문제를 해결 가정, 그리고

내가 MySQL을 체크하고 같은 오류가 다시 지금

,

101216 06:35:25 mysqld restarted 
101216 6:38:15 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295 
101216 6:38:15 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295 
101216 06:40:42 mysqld ended 

누구나 알고 ... 오늘까지 문제없이 약 일주일 동안 일하는 방법 내가 할 수있는 정말이 문제를 해결할 수 있습니까? 나는 이와 같은 mysql 충돌을 계속 가질 수 없다.

편집 :이 내가 속도 IO 높은 디스크

당신의 Linode이 머무는 linode에서 이메일을 발생 때마다 언급하는 것을 잊었다, 2483.68을 평균하여 속도 IO 디스크에 대한 알림 임계 값 (1000) 초과 지난 2 시간 동안.

+0

왜 충돌이 발생합니까? 두 번째 예제 후에 적어도 2 분 동안 mysqld가 지속 된 것처럼 보입니다. – wallyk

+1

그것은 다운되거나 다시 시작해야합니다. 내 응용 프로그램이 다운 되었기 때문에 MySQL에 연결할 수 없습니다. – mike

답변

0

실제로 4GiB에 가입하려고합니까? 특히 데이트하지 않으려는 전체 데카르트 제품을 가지고 있습니까? (SELECT *whatever* from big_table, bigger_table WHERE whatever > 5 /* oops, forgot the join criteria */)

로깅 활동을 제안하고, 충돌을 일으키는 쿼리를 찾으려고합니다. 그런 다음 쿼리를 변경하고 MySQL과 함께 버그 보고서를 제출할 수 있습니다.

+0

바로 그곳의 버그이며 이미 버그 보고서가 있습니다 – mike

+0

링크 된 버그는 경고 메시지를 생성합니다 (버그 로그의 AFAICT가 아닌). 서버 충돌이 발생합니다. 나는 다른 것이 서버 죽음의 원인이라고 생각합니다. 예를 들어 디스크 공간이나 메모리가 부족합니까? 거대한 조인을 수행하면 그 원인이 될 수 있습니다. – derobert

0

내가 스크립트 전에 MySQL 데이터베이스에 4294967295에 MAX_JOIN_SIZE을 정의하는 생각/mysql_install_db.sh가 실행됩니다 :

스크립트/mysql_system_tables.sql을

스크립트/fill_help_tables.sql

경고가 수정 될 수 있습니다.

관련 문제