在 Visual Studio 2019 中生成实体数据模型时 MySQL 崩溃

标签 mysql visual-studio

当我尝试从现有数据库生成实体模型时,mysqld 服务崩溃。 MySQL 8.0.20 不会出现这种情况,只有 8.0.21 才会出现这种情况。我希望使用更新中添加的新 json 功能,但这个问题让我抓狂。

MySQL Installed

实体向导与服务器连接正常并显示我想要导入的表,当导入过程开始抛出异常“连接丢失”并且我看到 mysqld.exe 停止时。

除了向导生成的部分查询之外,MySQL 日志没有显示任何有用的内容:

15:45:58 UTC - mysqld got exception 0xc0000005 ;
Most likely, you have hit a bug, but this error can also be caused by malfunctioning hardware.
Thread pointer: 0x1c9945fcfc0
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...
7ff7c812f74b    mysqld.exe!?get_full_info@Item_aggregate_type@@IEAAXPEAVItem@@@Z()
7ff7c81228d6    mysqld.exe!??0Item_aggregate_type@@QEAA@PEAVTHD@@PEAVItem@@@Z()
7ff7c83ab288    mysqld.exe!?prepare@SELECT_LEX_UNIT@@QEAA_NPEAVTHD@@PEAVQuery_result@@_K2@Z()
7ff7c841dd0e    mysqld.exe!?resolve_derived@TABLE_LIST@@QEAA_NPEAVTHD@@_N@Z()
7ff7c83d40d6    mysqld.exe!?resolve_placeholder_tables@SELECT_LEX@@QEAA_NPEAVTHD@@_N@Z()
7ff7c83d25aa    mysqld.exe!?prepare@SELECT_LEX@@QEAA_NPEAVTHD@@@Z()
7ff7c83ab191    mysqld.exe!?prepare@SELECT_LEX_UNIT@@QEAA_NPEAVTHD@@PEAVQuery_result@@_K2@Z()
7ff7c841dd0e    mysqld.exe!?resolve_derived@TABLE_LIST@@QEAA_NPEAVTHD@@_N@Z()
7ff7c83d40d6    mysqld.exe!?resolve_placeholder_tables@SELECT_LEX@@QEAA_NPEAVTHD@@_N@Z()
7ff7c83d25aa    mysqld.exe!?prepare@SELECT_LEX@@QEAA_NPEAVTHD@@@Z()
7ff7c83ab191    mysqld.exe!?prepare@SELECT_LEX_UNIT@@QEAA_NPEAVTHD@@PEAVQuery_result@@_K2@Z()
7ff7c841dd0e    mysqld.exe!?resolve_derived@TABLE_LIST@@QEAA_NPEAVTHD@@_N@Z()
7ff7c83d40d6    mysqld.exe!?resolve_placeholder_tables@SELECT_LEX@@QEAA_NPEAVTHD@@_N@Z()
7ff7c83d25aa    mysqld.exe!?prepare@SELECT_LEX@@QEAA_NPEAVTHD@@@Z()
7ff7c832980c    mysqld.exe!?prepare_inner@Sql_cmd_select@@MEAA_NPEAVTHD@@@Z()
7ff7c832942c    mysqld.exe!?prepare@Sql_cmd_dml@@UEAA_NPEAVTHD@@@Z()
7ff7c8325ef5    mysqld.exe!?execute@Sql_cmd_dml@@UEAA_NPEAVTHD@@@Z()
7ff7c822d36d    mysqld.exe!?mysql_execute_command@@YAHPEAVTHD@@_N@Z()
7ff7c822dfc9    mysqld.exe!?mysql_parse@@YAXPEAVTHD@@PEAVParser_state@@@Z()
7ff7c8226eb2    mysqld.exe!?dispatch_command@@YA_NPEAVTHD@@PEBTCOM_DATA@@W4enum_server_command@@@Z()
7ff7c8227e6e    mysqld.exe!?do_command@@YA_NPEAVTHD@@@Z()
7ff7c80726c8    mysqld.exe!?modify_thread_cache_size@Per_thread_connection_handler@@SAXK@Z()
7ff7c93322a1    mysqld.exe!?set_compression_level@Zstd_comp@compression@transaction@binary_log@@UEAAXI@Z()
7ff7c8f3739c    mysqld.exe!?my_thread_join@@YAHPEAUmy_thread_handle@@PEAPEAX@Z()
7fff75851542    ucrtbase.dll!_configthreadlocale()
7fff77ab6fd4    KERNEL32.DLL!BaseThreadInitThunk()
7fff77bfcec1    ntdll.dll!RtlUserThreadStart()

Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (1c999a99d08): SELECT
`Project7`.`C12` AS `C1`, 
`Project7`.`C1` AS `C2`, 
`Project7`.`C2` AS `C3`, 
`Project7`.`C3` AS `C4`, 
`Project7`.`C4` AS `C5`, 
`Project7`.`C5` AS `C6`, 
`Project7`.`C6` AS `C7`, 
`Project7`.`C7` AS `C8`, 
`Project7`.`C8` AS `C9`, 
`Project7`.`C9` AS `C10`, 
`Project7`.`C10` AS `C11`
FROM (SELECT
`UnionAll3`.`SchemaName` AS `C1`, 
`UnionAll3`.`Name` AS `C2`, 
`UnionAll3`.`ReturnTypeName` AS `C3`, 
`UnionAll3`.`IsAggregate` AS `C4`, 
`UnionAll3`.`C1` AS `C5`, 
`UnionAll3`.`IsBuiltIn` AS `C6`, 
`UnionAll3`.`IsNiladic` AS `C7`, 
`UnionAll3`.`C2` AS `C8`, 
`UnionAll3`.`C3` AS `C9`, 
`UnionAll3`.`C4` AS `C10`, 
`UnionAll3`.`C5` AS `C11`, 
1 AS `C12`
FROM ((SELECT
`Extent1`.`SchemaName`, 
`Extent1`.`Name`, 
`Extent1`.`ReturnTypeName`, 
`Extent1`.`IsAggregate`, 
1 AS `C1`, 
`Extent1`.`IsBuiltIn`, 
`Extent1`.`IsNiladic`, 
`UnionAll1`.`Name` AS `C2`, 
`UnionAll1`.`TypeName` AS `C3`, 
`UnionAll1`.`Mode` AS `C4`, 
`UnionAll1`.`Ordinal` AS `C5`
FROM (
        SELECT /* Funct
Connection ID (thread ID): 18
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.

这是我的错误还是某种配置错误?

最佳答案

这被证明是新查询优化中的一个错误,但我能够通过禁用服务器上的一些优化来找到解决方法。

这是我使用的命令:

Set global optimizer_switch='derived_merge=off,subquery_to_derived=off,prefer_ordering_index=off,semijoin=off';

希望在他们修复错误之前它能有所帮助。

关于在 Visual Studio 2019 中生成实体数据模型时 MySQL 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63362585/

相关文章:

mysql - SQL:查找商店的唯一客户时出现问题

MySQL如何将表连接为子数组?

mysql - SQL 多重 AND 条件

sql-server - SSRS。如何在 table1_Details_Group 的右侧创建新的行组?

mysql - 基于三个表的层次结构

mysql - 将文本文件中的特定列导入 mysql.. 这可能吗?

c# - 如何在每个场景上使声音/音乐静音?

c# - Visual Studio 无法附加到 Unity,为什么?

.net - 什么是 COMPLUS_ZapDisable?为什么默认情况下没有设置它?

sql-server-2008 - 如何在没有 SQL Server 的情况下运行 SSIS 包?