긴 쿼리시 에러 발생(ERROR 2013 (HY000): Lost connection to MySQL server during query)
안녕하세요, 질문 좀 드리겠습니다.
제가 아래와 같은 쿼리문을 만들어 실행하였습니다.
$mysql -uroot -p 로 접속하여
mysql> source test.sql
-- test.sql: insert into myTable_test select id, My_udf(name,'myTable'),passwd, no from myTable;
#My_udf(name,'myTable'), : 제가 만든 udf입니다. 위에는 예제로써 실재 파라미터들은 좀 다릅니다.
select 건수는 10만건인데 9만건까지는 성공합니다.
그런데 10만건은 약 15분정도 수행후에 항상 에러가 나면서 종료됩니다.
에러메시지>>
ERROR 2013 (HY000): Lost connection to MySQL server during query
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)
ERROR:
Can't connect to the server
현재로써는 구글링하여 성능에 영향을 미칠만한 시스템변수들을 my.cnf파일에 아래와 같이 충분히 큰 값으로 변경하여 mysqld 재시작을 해봤지만 같은 현상이 반복됩니다.
참고로 스토리지 엔진은 myisam을 사용중입니다.
고수분들의 도움을 간절히 기다립니다.
---------my.cnf----------
connect_timeout = 36000
interactive_timeout=576000
#wait_timeout = 576000
wait_timeout = 0
max_allowed_packet = 32M
net_write_timeout = 6000
net_read_timeout = 6000
skip-name-resolve
#
table_open_cache = 2048
binlog_cache_size = 1M
read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 8M
join_buffer_size = 8M
thread_cache_size = 8
query_cache_size = 64M
query_cache_limit = 2M
thread_stack = 2M
tmp_table_size = 64M
key_buffer_size = 32M
bulk_insert_buffer_size = 32M
myisam_sort_buffer_size = 128M
innodb_additional_mem_pool_size = 16M
innodb_buffer_pool_size = 1G
innodb_log_buffer_size = 8M
innodb_log_file_size = 256M
--------------------------------------------------------------------
사용하시는 머신의 메모리정보(쿼리를 처리하기에
사용하시는 머신의 메모리정보(쿼리를 처리하기에 충분한지)와 mysql 버전을 명시하시면 문제 해결에 도움이 될 수 있습니다.
또한, show processlist 명령어로 쿼리가 종료되는 Time 값을 인지하면 mysql 설정에 따른 연결 종료인지 여부도 파악됩니다.
소곤소곤
댓글 달기