今天发现mysql的一个问题,当跑update语句的时候,mysql 服务会自动断掉,无论用 phpmyadmin, navicat , mysql workbench 甚至用 mysql命令行效果一样。
我的环境是 : windows server 2008 R2 + mysql5.7.18-win64。
mysql 日志显示:
06:36:18 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=8192 max_used_connections=2 max_threads=151 thread_count=2 connection_count=2 It is possible that mysqld could use up to key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 49892 K bytes of memory Hope that's ok; if not, decrease some variables in the equation. Thread pointer: 0xa066480 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... 7fef5755c01 MSVCR120.dll!pow() 13f8a62aa mysqld.exe!?get_sweep_read_cost@@YAXPEAUTABLE@@_K_NPEAVCost_estimate@@@Z() 13fe68107 mysqld.exe!?right@?$Priority_queue@PEAVQUICK_SELECT_I@@V?$vector@PEAVQUICK_SELECT_I@@V?$Malloc_allocator@PEAVQUICK_SELECT_I@@@@@std@@UQuick_ror_union_less@@@@CA_K_K@Z() 13fe5e059 mysqld.exe!?free_tree@SEL_ARG@@QEAAXXZ() 13fe6a3f5 mysqld.exe!?test_quick_select@@YAHPEAVTHD@@V?$Bitmap@$0EA@@@_K2_NW4enum_order@st_order@@PEBVQEP_shared_owner@@PEAVItem@@PEAV2@PEAPEAVQUICK_SELECT_I@@@Z() 13fb18ce7 mysqld.exe!?mysql_update@@YA_NPEAVTHD@@AEAV?$List@VItem@@@@1_KW4enum_duplicates@@PEA_K4@Z() 13fb1afb0 mysqld.exe!?try_single_table_update@Sql_cmd_update@@AEAA_NPEAVTHD@@PEA_N@Z() 13fb172ea mysqld.exe!?execute@Sql_cmd_update@@UEAA_NPEAVTHD@@@Z() 13f8d72d5 mysqld.exe!?mysql_execute_command@@YAHPEAVTHD@@_N@Z() 13f8d9bf3 mysqld.exe!?mysql_parse@@YAXPEAVTHD@@PEAVParser_state@@@Z() 13f8d2c93 mysqld.exe!?dispatch_command@@YA_NPEAVTHD@@PEBTCOM_DATA@@W4enum_server_command@@@Z() 13f8d3cda mysqld.exe!?do_command@@YA_NPEAVTHD@@@Z() 13f87a80c mysqld.exe!handle_connection() 1402d5932 mysqld.exe!?reserve@?$vector@EV?$allocator@E@std@@@std@@QEAAX_K@Z() 13ffe7e6c mysqld.exe!my_thread_once() 7fef56e4f7f MSVCR120.dll!_beginthreadex() 7fef56e5126 MSVCR120.dll!_endthreadex() 7703f34d kernel32.dll!BaseThreadInitThunk() 77172cc1 ntdll.dll!RtlUserThreadStart() Trying to get some variables. Some pointers may be invalid and cause the dump to abort. Query (e881f30): UPDATE `system_lane_type` SET `lane_type`='lane8' WHERE (`lane_type_id`='3') Connection ID (thread ID): 3 Status: NOT_KILLED 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.
中间经过多种尝试,最后经过 google google google 查到解决方法,安装 2008 sp1的补丁就可以了,微软官方下载:windows6.1-KB976932-X64.exe
以下是搜索到的2篇文章:
https://bugs.mysql.com/bug.php?id=81538
http://www.talkwithtrend.com/Question/405405