在windows下使用MySql 5.7可能会遇到mysqld got exception 0xc000001d ;

类似下面这些异常信息

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=131072
max_used_connections=9
max_threads=200
thread_count=5
connection_count=5
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 87424 K  bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

Thread pointer: 0x13bfc0d0
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...
7fef7485c01    MSVCR120.dll!pow()
13fa662aa    mysqld.exe!get_sweep_read_cost()[handler.cc:7200]
140028107    mysqld.exe!ror_intersect_add()[opt_range.cc:5461]
14001e059    mysqld.exe!get_best_ror_intersect()[opt_range.cc:5642]
14002a3f5    mysqld.exe!test_quick_select()[opt_range.cc:3108]
13fbd6e4e    mysqld.exe!get_quick_record_count()[sql_optimizer.cc:5948]
13fbd58ad    mysqld.exe!JOIN::estimate_rowcount()[sql_optimizer.cc:5694]
13fbd8619    mysqld.exe!JOIN::make_join_plan()[sql_optimizer.cc:5051]
13fbda18b    mysqld.exe!JOIN::optimize()[sql_optimizer.cc:368]
13fc22559    mysqld.exe!st_select_lex::optimize()[sql_select.cc:1009]
13fc2057d    mysqld.exe!handle_query()[sql_select.cc:164]
13fa94267    mysqld.exe!execute_sqlcom_select()[sql_parse.cc:5159]
13fa96196    mysqld.exe!mysql_execute_command()[sql_parse.cc:2796]
13fa99bf3    mysqld.exe!mysql_parse()[sql_parse.cc:5583]
13fa92c93    mysqld.exe!dispatch_command()[sql_parse.cc:1464]
13fa93cda    mysqld.exe!do_command()[sql_parse.cc:1001]
13fa3a80c    mysqld.exe!handle_connection()[connection_handler_per_thread.cc:300]
140495932    mysqld.exe!pfs_spawn_thread()[pfs.cc:2193]
1401a7e6c    mysqld.exe!win_thread_start()[my_thread.c:38]
7fef7414f7f    MSVCR120.dll!_beginthreadex()
7fef7415126    MSVCR120.dll!_endthreadex()
7754f56d    kernel32.dll!BaseThreadInitThunk()
77683281    ntdll.dll!RtlUserThreadStart()

Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (1366d670): select count(*) as col_0_0_ from log_operate logoperate0_ where logoperate0_.site_id=1 and logoperate0_.operate='execSql.site'
Connection ID (thread ID): 13
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.

官方在5.7版本下载页面给出了醒目的警示,大概意思是Windows 2008 R2或Win 7并且没有安装SP1补丁的情况下会经常自动重启并且报0xc000001d异常,实际情况下有些查询也会直接导致报这个错误并且mysql进程死掉

Important
If your operating system is Windows 2008 R2 or Windows 7 and you do not have Service Pack 1 (SP1) installed, MySQL 5.7 will regularly restart and in the MySQL server error log file you will see this message:
mysqld got exception 0xc000001d
This error message occurs because you are also using a CPU that does not support the VPSRLQ instruction and indicates that the CPU instruction that was attempted is not supported.
To fix this error, you must install SP1. This adds the required operating system support for the CPU capability detection and disables that support when the CPU does not have the required instructions.
Alternatively, install an older version of MySQL, such as 5.6.

官方给的解决方法是 安装SP1补丁或者使用5.6版本

标签:数据库

0条评论
发表评论