windows2008上,数据库(5.7.17)被一条排序的SQL搞宕机,每次毕现,表只有一条记录(表定义比较长),且表文件既有几百k。
错误日志:
04:58:38 UTC - mysqld got exception 0xc000001d ;
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.
Attempting to collect some information that could help diagnose the problem.
As this is a crash and something is definitely wrong, the information
collection process might fail.
key_buffer_size=8388608
read_buffer_size=65536
max_used_connections=23
max_threads=151
thread_count=9
connection_count=9
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 58347 K bytes of memory
Hope that's ok; if not, decrease some variables in the equation.
Thread pointer: 0xa8c9010
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...
1407d3343 mysqld.exe!my_wildcmp_mb()
1402a193b mysqld.exe!?copy_min_to_min@SEL_ARG@@QEAAXPEAV1@@Z()
1402a4d00 mysqld.exe!?free_tree@SEL_ARG@@QEAAXXZ()
1402b14be mysqld.exe!?test_quick_select@@YAHPEAVTHD@@V?$Bitmap@$0EA@@@_K2_NW4enum_order@st_order@@PEBVQEP_shared_owner@@PEAVItem@@PEAV2@PEAPEAVQUICK_SELECT_I@@@Z()
13fe6736e mysqld.exe!?get_op_type@Ft_hints@@QEAA?AW4ft_operation@@XZ()
13fe65dcd mysqld.exe!?estimate_rowcount@JOIN@@AEAA_NXZ()
13fe68b39 mysqld.exe!?make_join_plan@JOIN@@AEAA_NXZ()
13fe6a6ab mysqld.exe!?optimize@JOIN@@QEAAHXZ()
13feaf179 mysqld.exe!?optimize@st_select_lex@@QEAA_NPEAVTHD@@@Z()
13fecc1c5 mysqld.exe!?optimize@st_select_lex_unit@@QEAA_NPEAVTHD@@@Z()
13ff451bc mysqld.exe!?optimize_derived@TABLE_LIST@@QEAA_NPEAVTHD@@@Z()
13fe6a336 mysqld.exe!?optimize@JOIN@@QEAAHXZ()
13feaf179 mysqld.exe!?optimize@st_select_lex@@QEAA_NPEAVTHD@@@Z()
13fead19d mysqld.exe!?handle_query@@YA_NPEAVTHD@@PEAULEX@@PEAVQuery_result@@_K3@Z()
13fd24107 mysqld.exe!?execute_init_command@@YAXPEAVTHD@@PEAUst_mysql_lex_string@@PEAUst_mysql_rwlock@@@Z()
13fd26036 mysqld.exe!?mysql_execute_command@@YAHPEAVTHD@@_N@Z()
13fd29a83 mysqld.exe!?mysql_parse@@YAXPEAVTHD@@PEAVParser_state@@@Z()
13fd22b83 mysqld.exe!?dispatch_command@@YA_NPEAVTHD@@PEBTCOM_DATA@@W4enum_server_command@@@Z()
13fd23b7a mysqld.exe!?do_command@@YA_NPEAVTHD@@@Z()
13fcf981c mysqld.exe!handle_connection()
140717392 mysqld.exe!?reserve@?$vector@EV?$allocator@E@std@@@std@@QEAAX_K@Z()
14042fc4b mysqld.exe!my_thread_once()
1407d9a3f mysqld.exe!my_wildcmp_mb()
1407d9c8a mysqld.exe!my_wildcmp_mb()
779bf56d kernel32.dll!BaseThreadInitThunk()
77bf3281 ntdll.dll!RtlUserThreadStart()
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (ef11b40): SELECT COUNT(t.DEVICE_ID) FROM
(SELECT DISTINCT DEVICE_ID FROM `energy_airconditioner_info` ) t
Connection ID (thread ID): 59
Status: NOT_KILLED
第一次遇到这种问题,看错误提示好像是参数设置的有问题,查看了一下数据库的这几个参数,都是默认的,于是修改如下,然后验证问题解决:
innodb_buffer_pool_size=200M
key_buffer_size=8M
read_buffer_size=1M
read_rnd_buffer_size=1M
sort_buffer_size=1M
过了一会又宕机了,换到5.7.22,还是有问题,安装了windows6.1-KB976932-X64.exe就好了。
登录 | 立即注册