Мне нужна помощь по MySQL, когда я вызываю определенную процедуру, Workbench теряет соединение и служба MySQL80 Windows останавливается!
Я уже пытался установить более высокий параметр (600) в меню «Правка» -> «Настройки» -> «Редактор SQL» -> Время ожидания подключения к СУБД (в секундах).
Я не знаю, может ли это помочь, но вот моя процедура:
DELIMITER //
DROP PROCEDURE IF EXISTS drop_unfinished //
CREATE PROCEDURE drop_unfinished(
OUT p_return INT,
IN p_forum_id INT
)
COMMENT 'Drops all unscraped batches for the given forum'
READS SQL DATA
BEGIN
DECLARE v_limit INT;
DECLARE v_offset INT;
DECLARE v_scraped_batches INT;
DECLARE v_scraped_topics INT;
DECLARE v_edit_time DATETIME;
DECLARE v_start_time DATETIME;
DECLARE EXIT HANDLER FOR SQLEXCEPTION SET p_return = -1;
SELECT scraped_topics, scraped_batches, edit_time
INTO v_scraped_topics, v_scraped_batches, v_edit_time
FROM dashboard_view
WHERE forum_id = p_forum_id;
SET v_limit = 25;
SET v_offset = IF(v_scraped_batches = 1, 0, v_limit * v_scraped_batches);
CREATE TEMPORARY TABLE
IF NOT EXISTS topic_ids
SELECT topic_id
FROM topics
WHERE edit_time > v_edit_time
LIMIT v_scraped_topics
OFFSET v_offset;
DELETE FROM logs
WHERE step_time > v_edit_time
AND parent_id = p_forum_id
AND object_id IN (SELECT topic_id FROM topic_ids);
DELETE FROM torrents_tmp
WHERE forum_id = p_forum_id
AND topic_id IN (SELECT topic_id FROM topic_ids);
DELETE FROM ed2k_links_tmp
WHERE forum_id = p_forum_id
AND topic_id IN (SELECT topic_id FROM topic_ids);
DELETE FROM posts_tmp
WHERE forum_id = p_forum_id
AND topic_id IN (SELECT topic_id FROM topic_ids);
COMMIT;
DROP TEMPORARY TABLE topic_ids;
SET p_return = 0;
END
//
DELIMITER ;
Если я вызываю все запросы отдельно (очевидно, с одинаковыми параметрами), у меня нет проблем!
Журналы сервера:
, , , 17:14:03 UTC - mysqld got exception 0xc0000005 ;
, , , 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=4
, , , max_threads=151
, , , thread_count=5
, , , connection_count=4
, , , It is possible that mysqld could use up to
, , , key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 49570 K bytes of memory
, , , Hope that's ok; if not, decrease some variables in the equation.
, , , Thread pointer: 0x22398e95dc0
, , , 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...
, , , 7ff7e4ff764d mysqld.exe!?this_item@Item_splocal@@UEAAPEAVItem@@XZ()
, , , 7ff7e4ffa256 mysqld.exe!?val_int@Item_sp_variable@@UEAA_JXZ()
, , , 7ff7e50cbcb5 mysqld.exe!?set_limit@SELECT_LEX_UNIT@@QEAA_NPEAVTHD@@PEAVSELECT_LEX@@@Z()
, , , 7ff7e534e258 mysqld.exe!?execute@Sql_cmd_create_table@@UEAA_NPEAVTHD@@@Z()
, , , 7ff7e50f2d38 mysqld.exe!?mysql_execute_command@@YAHPEAVTHD@@_N@Z()
, , , 7ff7e52e7e3a mysqld.exe!?exec_core@sp_instr_stmt@@UEAA_NPEAVTHD@@PEAI@Z()
, , , 7ff7e52e9e82 mysqld.exe!?reset_lex_and_exec_core@sp_lex_instr@@AEAA_NPEAVTHD@@PEAI_N@Z()
, , , 7ff7e52ea619 mysqld.exe!?validate_lex_and_execute_core@sp_lex_instr@@QEAA_NPEAVTHD@@PEAI_N@Z()
, , , 7ff7e52e82aa mysqld.exe!?execute@sp_instr_stmt@@UEAA_NPEAVTHD@@PEAI@Z()
, , , 7ff7e50d0193 mysqld.exe!?execute@sp_head@@AEAA_NPEAVTHD@@_N@Z()
, , , 7ff7e50d109b mysqld.exe!?execute_procedure@sp_head@@QEAA_NPEAVTHD@@PEAV?$List@VItem@@@@@Z()
, , , 7ff7e5376bee mysqld.exe!?execute_inner@Sql_cmd_call@@MEAA_NPEAVTHD@@@Z()
, , , 7ff7e524c706 mysqld.exe!?execute@Sql_cmd_dml@@UEAA_NPEAVTHD@@@Z()
, , , 7ff7e50f2d38 mysqld.exe!?mysql_execute_command@@YAHPEAVTHD@@_N@Z()
, , , 7ff7e50f3816 mysqld.exe!?mysql_parse@@YAXPEAVTHD@@PEAVParser_state@@@Z()
, , , 7ff7e50ed6b8 mysqld.exe!?dispatch_command@@YA_NPEAVTHD@@PEBTCOM_DATA@@W4enum_server_command@@@Z()
, , , 7ff7e50ee5e5 mysqld.exe!?do_command@@YA_NPEAVTHD@@@Z()
, , , 7ff7e4f847f8 mysqld.exe!?pop_front@?$list@PEAVChannel_info@@V?$allocator@PEAVChannel_info@@@std@@@std@@QEAAXXZ()
, , , 7ff7e6093e87 mysqld.exe!??1?$lock_guard@Vmutex@std@@@std@@QEAA@XZ()
, , , 7ff7e5cab1dc mysqld.exe!?my_thread_join@@YAHPEAUmy_thread_handle@@PEAPEAX@Z()
, , , 7fff7aaec4ce ucrtbase.dll!_o_ceil()
, , , 7fff7d453034 KERNEL32.DLL!BaseThreadInitThunk()
, , , 7fff7de11461 ntdll.dll!RtlUserThreadStart()
, , , Trying to get some variables.
, , , Some pointers may be invalid and cause the dump to abort.
, , , Query (223994b4e98): CREATE TEMPORARY TABLE
, , , IF NOT EXISTS topic_ids
, , , SELECT topic_id
, , , FROM topics
, , , WHERE edit_time > v_edit_time
, , , LIMIT v_scraped_topics
, , , OFFSET v_offset
, , , Connection ID (thread ID): 10
, , , 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.