MySQL 崩溃(mysqld 出现异常 0xc0000005)

时间:2021-05-31 12:13:26

标签: mysql crash

我在 Windows Server 2016 1607(在 ESX 环境中)上使用 MySQL 8.0.24,并且经常有一些 MySQL 崩溃(MySQL 服务停止)总是使用相同的存储过程调用;上周,我使用的是 8.0.23 版本的 MySQL,并且遇到了同样的问题,但有另一个存储过程调用(过程由 C# 通过 MySQL .Net Connector 8.0.23 调用)。

重要信息:我有一个名为 cube 的数据库(这是一个 MySQL 关键字,但在我使用的以前的 MySQL 版本中不存在:MySQL 5)并且我无法重命名它(一个许多其他数据库使用这个数据库,带有“cube.”引用)

我无法明确重现该错误(但是,它一天发生多次)。

此后,错误MySQL日志内容:

09:27:05 UTC - mysqld got exception 0xc0000005 ;
Most likely, you have hit a bug, but this error can also be caused by malfunctioning hardware.
Thread pointer: 0x1e66537b080
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...
7ff716848699    mysqld.exe!?walk@Unique@@QEAA_NP6AHPEAXI0@Z0@Z()
7ff716978922    mysqld.exe!?val_str@Item_func_group_concat@@UEAAPEAVString@@PEAV2@@Z()
7ff716656bd9    mysqld.exe!?cache_value@Item_cache_str@@UEAA_NXZ()
7ff716851b92    mysqld.exe!?send_data@Query_result_scalar_subquery@@UEAA_NPEAVTHD@@AEBV?$mem_root_deque@PEAVItem@@@@@Z()
7ff716909a30    mysqld.exe!?ExecuteIteratorQuery@Query_expression@@QEAA_NPEAVTHD@@@Z()
7ff71690b0d6    mysqld.exe!?execute@Query_expression@@QEAA_NPEAVTHD@@@Z()
7ff71684d91d    mysqld.exe!?exec@SubqueryWithResult@@QEAA_NPEAVTHD@@@Z()
7ff71684d88e    mysqld.exe!?exec@Item_subselect@@UEAA_NPEAVTHD@@@Z()
7ff716854357    mysqld.exe!?val_str@Item_singlerow_subselect@@UEAAPEAVString@@PEAV2@@Z()
7ff7166e46de    mysqld.exe!?val_str@Item_func_conv_charset@@UEAAPEAVString@@PEAV2@@Z()
7ff7165d4287    mysqld.exe!?val_str@Item_func_case@@UEAAPEAVString@@PEAV2@@Z()
7ff716656bd9    mysqld.exe!?cache_value@Item_cache_str@@UEAA_NXZ()
7ff71665f0cb    mysqld.exe!?has_value@Item_cache@@QEAA_NXZ()
7ff71666c7ae    mysqld.exe!?val_str@Item_cache_str@@UEAAPEAVString@@PEAV2@@Z()
7ff716698727    mysqld.exe!?val_int@Item_func_find_in_set@@UEAA_JXZ()
7ff7165c19ff    mysqld.exe!?compare_int_signed@Arg_comparator@@QEAAHXZ()
7ff7165d3436    mysqld.exe!?val_int@Item_func_ne@@UEAA_JXZ()
7ff71666a0ed    mysqld.exe!?val_bool@Item@@UEAA_NXZ()
7ff7165d217e    mysqld.exe!?val_int@Item_cond_and@@UEAA_JXZ()
7ff716a7170d    mysqld.exe!?Read@FilterIterator@@UEAAHXZ()
7ff716a71031    mysqld.exe!?Read@AggregateIterator@@UEAAHXZ()
7ff7169099e8    mysqld.exe!?ExecuteIteratorQuery@Query_expression@@QEAA_NPEAVTHD@@@Z()
7ff71690b0d6    mysqld.exe!?execute@Query_expression@@QEAA_NPEAVTHD@@@Z()
7ff71684d91d    mysqld.exe!?exec@SubqueryWithResult@@QEAA_NPEAVTHD@@@Z()
7ff71684d88e    mysqld.exe!?exec@Item_subselect@@UEAA_NPEAVTHD@@@Z()
7ff716854357    mysqld.exe!?val_str@Item_singlerow_subselect@@UEAAPEAVString@@PEAV2@@Z()
7ff7166666bb    mysqld.exe!?send@Item@@UEAA_NPEAVProtocol@@PEAVString@@@Z()
7ff71662f65a    mysqld.exe!?send_result_set_row@THD@@QEAA_NAEBV?$mem_root_deque@PEAVItem@@@@@Z()
7ff7169fe2a3    mysqld.exe!?send_data@Query_result_send@@UEAA_NPEAVTHD@@AEBV?$mem_root_deque@PEAVItem@@@@@Z()
7ff716909a30    mysqld.exe!?ExecuteIteratorQuery@Query_expression@@QEAA_NPEAVTHD@@@Z()
7ff71690b0d6    mysqld.exe!?execute@Query_expression@@QEAA_NPEAVTHD@@@Z()
7ff71683c201    mysqld.exe!?execute_inner@Sql_cmd_dml@@MEAA_NPEAVTHD@@@Z()
7ff71683c07b    mysqld.exe!?execute@Sql_cmd_dml@@UEAA_NPEAVTHD@@@Z()
7ff716789a71    mysqld.exe!?mysql_execute_command@@YAHPEAVTHD@@_N@Z()
7ff7169b1118    mysqld.exe!?exec_core@sp_instr_stmt@@UEAA_NPEAVTHD@@PEAI@Z()
7ff7169b351b    mysqld.exe!?reset_lex_and_exec_core@sp_lex_instr@@AEAA_NPEAVTHD@@PEAI_N@Z()
7ff7169b3c95    mysqld.exe!?validate_lex_and_execute_core@sp_lex_instr@@QEAA_NPEAVTHD@@PEAI_N@Z()
7ff7169b15b4    mysqld.exe!?execute@sp_instr_stmt@@UEAA_NPEAVTHD@@PEAI@Z()
7ff716747b19    mysqld.exe!?execute@sp_head@@AEAA_NPEAVTHD@@_N@Z()
7ff716748b8b    mysqld.exe!?execute_procedure@sp_head@@QEAA_NPEAVTHD@@PEAV?$mem_root_deque@PEAVItem@@@@@Z()
7ff716a68659    mysqld.exe!?execute_inner@Sql_cmd_call@@MEAA_NPEAVTHD@@@Z()
7ff71683c07b    mysqld.exe!?execute@Sql_cmd_dml@@UEAA_NPEAVTHD@@@Z()
7ff716789a71    mysqld.exe!?mysql_execute_command@@YAHPEAVTHD@@_N@Z()
7ff716784c2f    mysqld.exe!?dispatch_sql_command@@YAXPEAVTHD@@PEAVParser_state@@@Z()
7ff716783a4c    mysqld.exe!?dispatch_command@@YA_NPEAVTHD@@PEBTCOM_DATA@@W4enum_server_command@@@Z()
7ff71678500e    mysqld.exe!?do_command@@YA_NPEAVTHD@@@Z()
7ff7165d64a8    mysqld.exe!?modify_thread_cache_size@Per_thread_connection_handler@@SAXK@Z()
7ff7179edbe1    mysqld.exe!?set_compression_level@Zstd_comp@compression@transaction@binary_log@@UEAAXI@Z()
7ff7175d1d1c    mysqld.exe!?my_thread_join@@YAHPEAUmy_thread_handle@@PEAPEAX@Z()
7ff936a4fb80    ucrtbase.dll!_o__realloc_base()
7ff937ca84d4    KERNEL32.DLL!BaseThreadInitThunk()
7ff93a421781    ntdll.dll!RtlUserThreadStart()

Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (1e602cf1038): select ...

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我在查询时发生

  • 没有数据
  • 使用“GROUP_CONCAT(DISTINCT)”
  • 没有“GROUP BY”
  • 在 WHERE 子句中使用索引/主键(int 类型)。

(如果不使用 DISTINCT,它将返回一个空行。)

我认为这是一个错误。 这是 mysql 8 上的新行为。它在版本 5 上很好。