使用mysql数据源做认证,正常使用一段时间后会自动断开,并且不会重新连接

错误报告

2023-01-16T09:xxx:12.186000+08:00 [error] Generic server <0.701.xxx8> terminating. Reason: {{case_clause,{error,closed}},[{mysql_protocol,fetch_response,7,[{file,"mysql_protocol.erl"},{line,567}]},{mysql_conn,query,4,[{file,"mysql_conn.erl"},{line,611}]},{mysql_conn,handle_call,3,[{file,"mysql_conn.erl"},{line,301}]},{gen_server,try_handle_call,4,[{file,"gen_server.erl"},{line,721}]},{gen_server,handle_msg,6,[{file,"gen_server.erl"},{line,750}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}. Last message: {query,<<"SELECT count(1) AS T">>,no_filtermap_fun,default_timeout}. State: {state,[8,0,20],8711,#Port<0.1334>,gen_tcp,[],undefined,{xxx,xxx,99,xxx},3306,<<"xxxxxx">>,<<"xxxxxx">>,<<"xxx">>,[],[],<<"caching_sha2_password">>,<<6,38,115,9,75,112,66,98,96,71,62,21,37,30,58,5,19,121,81,15,0>>,[],true,false,5000,infinity,infinity,60000,0,2,0,0,[],undefined,{dict,1,16,16,8,80,48,{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},{{[],[],[],[],[],[],[],[],[],[],[],[],[[emqx_authn_mysql|{prepared,1,<<"SELECT password_hash, salt FROM iot_mqtt_user where username = ? LIMIT 1">>,1,0}]],[],[],[]}}},empty,false}. Client <0.29824.644> is dead.
2023-01-16T09:xxx:12.187000+08:00 [error] crasher: initial call: mysql_conn:init/1, pid: <0.701.xxx8>, registered_name: [], error: {{case_clause,{error,closed}},[{mysql_protocol,fetch_response,7,[{file,"mysql_protocol.erl"},{line,567}]},{mysql_conn,query,4,[{file,"mysql_conn.erl"},{line,611}]},{mysql_conn,handle_call,3,[{file,"mysql_conn.erl"},{line,301}]},{gen_server,try_handle_call,4,[{file,"gen_server.erl"},{line,721}]},{gen_server,handle_msg,6,[{file,"gen_server.erl"},{line,750}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}, ancestors: [<0.700.xxx8>,<0.687.xxx8>,<0.690.xxx8>,ecpool_sup,<0.2223.0>], message_queue_len: 1, messages: [{'$gen_call',{<0.29846.644>,#Ref<0.253794015.1116995586.82698>},{query,<<"SELECT count(1) AS T">>,no_filtermap_fun,default_timeout}}], links: [#Port<0.1334>,<0.700.xxx8>], dictionary: [], trap_exit: true, status: running, heap_size: 10958, stack_size: 29, reductions: 92463xxx4; neighbours:
2023-01-16T09:xxx:12.187000+08:00 [error] Generic server <0.721.xxx8> terminating. Reason: {{case_clause,{error,closed}},[{mysql_protocol,fetch_response,7,[{file,"mysql_protocol.erl"},{line,567}]},{mysql_conn,query,4,[{file,"mysql_conn.erl"},{line,611}]},{mysql_conn,handle_call,3,[{file,"mysql_conn.erl"},{line,301}]},{gen_server,try_handle_call,4,[{file,"gen_server.erl"},{line,721}]},{gen_server,handle_msg,6,[{file,"gen_server.erl"},{line,750}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}. Last message: {query,<<"SELECT count(1) AS T">>,no_filtermap_fun,default_timeout}. State: {state,[8,0,20],8716,#Port<0.1339>,gen_tcp,[],undefined,{xxx,xxx,99,xxx},3306,<<"xxxxxx">>,<<"xxxxxx">>,<<"xxx">>,[],[],<<"caching_sha2_password">>,<<69,84,44,84,12,106,12,19,87,87,58,109,23,101,41,127,100,119,31,52,0>>,[],true,false,5000,infinity,infinity,60000,0,2,0,0,[],undefined,{dict,1,16,16,8,80,48,{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},{{[],[],[],[],[],[],[],[],[],[],[],[],[[emqx_authn_mysql|{prepared,1,<<"SELECT password_hash, salt FROM iot_mqtt_user where username = ? LIMIT 1">>,1,0}]],[],[],[]}}},empty,false}. Client <0.29818.644> is dead.
2023-01-16T09:xxx:12.188000+08:00 [error] crasher: initial call: mysql_conn:init/1, pid: <0.721.xxx8>, registered_name: [], error: {{case_clause,{error,closed}},[{mysql_protocol,fetch_response,7,[{file,"mysql_protocol.erl"},{line,567}]},{mysql_conn,query,4,[{file,"mysql_conn.erl"},{line,611}]},{mysql_conn,handle_call,3,[{file,"mysql_conn.erl"},{line,301}]},{gen_server,try_handle_call,4,[{file,"gen_server.erl"},{line,721}]},{gen_server,handle_msg,6,[{file,"gen_server.erl"},{line,750}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}, ancestors: [<0.715.xxx8>,<0.687.xxx8>,<0.690.xxx8>,ecpool_sup,<0.2223.0>], message_queue_len: 1, messages: [{'$gen_call',{<0.29858.644>,#Ref<0.253794015.1116995586.82697>},{query,<<"SELECT count(1) AS T">>,no_filtermap_fun,default_timeout}}], links: [#Port<0.1339>,<0.715.xxx8>], dictionary: [], trap_exit: true, status: running, heap_size: 10958, stack_size: 29, reductions: 92471677; neighbours:
2023-01-16T09:xxx:12.188000+08:00 [error] Generic server <0.710.xxx8> terminating. Reason: {{case_clause,{error,closed}},[{mysql_protocol,fetch_response,7,[{file,"mysql_protocol.erl"},{line,567}]},{mysql_conn,query,4,[{file,"mysql_conn.erl"},{line,611}]},{mysql_conn,handle_call,3,[{file,"mysql_conn.erl"},{line,301}]},{gen_server,try_handle_call,4,[{file,"gen_server.erl"},{line,721}]},{gen_server,handle_msg,6,[{file,"gen_server.erl"},{line,750}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}. Last message: {query,<<"SELECT count(1) AS T">>,no_filtermap_fun,default_timeout}. State: {state,[8,0,20],8712,#Port<0.1335>,gen_tcp,[],undefined,{xxx,xxx,99,xxx},3306,<<"xxxxxx">>,<<"xxxxxx">>,<<"xxx">>,[],[],<<"caching_sha2_password">>,<<3,127,21,68,81,76,40,12,90,56,59,82,22,104,119,110,101,95,122,66,0>>,[],true,false,5000,infinity,infinity,60000,0,2,0,0,[],undefined,{dict,1,16,16,8,80,48,{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},{{[],[],[],[],[],[],[],[],[],[],[],[],[[emqx_authn_mysql|{prepared,1,<<"SELECT password_hash, salt FROM iot_mqtt_user where username = ? LIMIT 1">>,1,0}]],[],[],[]}}},empty,false}. Client <0.29823.644> is dead.
2023-01-16T09:xxx:12.189000+08:00 [error] crasher: initial call: mysql_conn:init/1, pid: <0.710.xxx8>, registered_name: [], error: {{case_clause,{error,closed}},[{mysql_protocol,fetch_response,7,[{file,"mysql_protocol.erl"},{line,567}]},{mysql_conn,query,4,[{file,"mysql_conn.erl"},{line,611}]},{mysql_conn,handle_call,3,[{file,"mysql_conn.erl"},{line,301}]},{gen_server,try_handle_call,4,[{file,"gen_server.erl"},{line,721}]},{gen_server,handle_msg,6,[{file,"gen_server.erl"},{line,750}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}, ancestors: [<0.708.xxx8>,<0.687.xxx8>,<0.690.xxx8>,ecpool_sup,<0.2223.0>], message_queue_len: 1, messages: [{'$gen_call',{<0.29855.644>,#Ref<0.253794015.1116995586.82691>},{query,<<"SELECT count(1) AS T">>,no_filtermap_fun,default_timeout}}], links: [<0.708.xxx8>,#Port<0.1335>], dictionary: [], trap_exit: true, status: running, heap_size: 10958, stack_size: 29, reductions: 92407896; neighbours:
2023-01-16T09:xxx:12.189000+08:00 [error] Generic server <0.706.xxx8> terminating. Reason: {{case_clause,{error,closed}},[{mysql_protocol,fetch_response,7,[{file,"mysql_protocol.erl"},{line,567}]},{mysql_conn,query,4,[{file,"mysql_conn.erl"},{line,611}]},{mysql_conn,handle_call,3,[{file,"mysql_conn.erl"},{line,301}]},{gen_server,try_handle_call,4,[{file,"gen_server.erl"},{line,721}]},{gen_server,handle_msg,6,[{file,"gen_server.erl"},{line,750}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}. Last message: {query,<<"SELECT count(1) AS T">>,no_filtermap_fun,default_timeout}. State: {state,[8,0,20],8715,#Port<0.1338>,gen_tcp,[],undefined,{xxx,xxx,99,xxx},3306,<<"xxxxxx">>,<<"xxxxxx">>,<<"xxx">>,[],[],<<"caching_sha2_password">>,<<15,74,38,19,1,82,87,66,2,115,58,107,2,10,53,69,2,89,52,127,0>>,[],true,false,5000,infinity,infinity,60000,0,2,0,0,[],undefined,{dict,1,16,16,8,80,48,{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},{{[],[],[],[],[],[],[],[],[],[],[],[],[[emqx_authn_mysql|{prepared,1,<<"SELECT password_hash, salt FROM iot_mqtt_user where username = ? LIMIT 1">>,1,0}]],[],[],[]}}},empty,false}. Client <0.29820.644> is dead.
2023-01-16T09:xxx:12.189000+08:00 [error] crasher: initial call: mysql_conn:init/1, pid: <0.706.xxx8>, registered_name: [], error: {{case_clause,{error,closed}},[{mysql_protocol,fetch_response,7,[{file,"mysql_protocol.erl"},{line,567}]},{mysql_conn,query,4,[{file,"mysql_conn.erl"},{line,611}]},{mysql_conn,handle_call,3,[{file,"mysql_conn.erl"},{line,301}]},{gen_server,try_handle_call,4,[{file,"gen_server.erl"},{line,721}]},{gen_server,handle_msg,6,[{file,"gen_server.erl"},{line,750}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}, ancestors: [<0.704.xxx8>,<0.687.xxx8>,<0.690.xxx8>,ecpool_sup,<0.2223.0>], message_queue_len: 1, messages: [{'$gen_call',{<0.29841.644>,#Ref<0.253794015.1116995586.82693>},{query,<<"SELECT count(1) AS T">>,no_filtermap_fun,default_timeout}}], links: [#Port<0.1338>,<0.704.xxx8>], dictionary: [], trap_exit: true, status: running, heap_size: 10958, stack_size: 29, reductions: 92474101; neighbours:
2023-01-16T09:xxx:12.190000+08:00 [error] Generic server <0.719.xxx8> terminating. Reason: {{case_clause,{error,closed}},[{mysql_protocol,fetch_response,7,[{file,"mysql_protocol.erl"},{line,567}]},{mysql_conn,query,4,[{file,"mysql_conn.erl"},{line,611}]},{mysql_conn,handle_call,3,[{file,"mysql_conn.erl"},{line,301}]},{gen_server,try_handle_call,4,[{file,"gen_server.erl"},{line,721}]},{gen_server,handle_msg,6,[{file,"gen_server.erl"},{line,750}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}. Last message: {query,<<"SELECT count(1) AS T">>,no_filtermap_fun,default_timeout}. State: {state,[8,0,20],8717,#Port<0.1340>,gen_tcp,[],undefined,{xxx,xxx,99,xxx},3306,<<"xxxxxx">>,<<"xxxxxx">>,<<"xxx">>,[],[],<<"caching_sha2_password">>,<<69,115,7,47,1,11,21,4,56,61,66,14,33,51,61,63,79,64,18,112,0>>,[],true,false,5000,infinity,infinity,60000,0,2,0,0,[],undefined,{dict,1,16,16,8,80,48,{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},{{[],[],[],[],[],[],[],[],[],[],[],[],[[emqx_authn_mysql|{prepared,1,<<"SELECT password_hash, salt FROM iot_mqtt_user where username = ? LIMIT 1">>,1,0}]],[],[],[]}}},empty,false}. Client <0.29817.644> is dead.
2023-01-16T09:xxx:12.190000+08:00 [error] crasher: initial call: mysql_conn:init/1, pid: <0.719.xxx8>, registered_name: [], error: {{case_clause,{error,closed}},[{mysql_protocol,fetch_response,7,[{file,"mysql_protocol.erl"},{line,567}]},{mysql_conn,query,4,[{file,"mysql_conn.erl"},{line,611}]},{mysql_conn,handle_call,3,[{file,"mysql_conn.erl"},{line,301}]},{gen_server,try_handle_call,4,[{file,"gen_server.erl"},{line,721}]},{gen_server,handle_msg,6,[{file,"gen_server.erl"},{line,750}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}, ancestors: [<0.723.xxx8>,<0.687.xxx8>,<0.690.xxx8>,ecpool_sup,<0.2223.0>], message_queue_len: 1, messages: [{'$gen_call',{<0.29848.644>,#Ref<0.253794015.1116995586.82694>},{query,<<"SELECT count(1) AS T">>,no_filtermap_fun,default_timeout}}], links: [<0.723.xxx8>,#Port<0.1340>], dictionary: [], trap_exit: true, status: running, heap_size: 10958, stack_size: 29, reductions: 92468221; neighbours:
2023-01-16T09:xxx:12.190000+08:00 [error] line: 536, mfa: emqx_resource_manager:parse_health_check_result/2, msg: health_check_exception, reason: {exit,{{{case_clause,{error,closed}},[{mysql_protocol,fetch_response,7,[{file,"mysql_protocol.erl"},{line,567}]},{mysql_conn,query,4,[{file,"mysql_conn.erl"},{line,611}]},{mysql_conn,handle_call,3,[{file,"mysql_conn.erl"},{line,301}]},{gen_server,try_handle_call,4,[{file,"gen_server.erl"},{line,721}]},{gen_server,handle_msg,6,[{file,"gen_server.erl"},{line,750}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]},{gen_server,call,[<0.719.xxx8>,{query,<<"SELECT count(1) AS T">>,no_filtermap_fun,default_timeout},infinity]}},[{gen_server,call,3,[{file,"gen_server.erl"},{line,247}]},{mysql,query_call,2,[{file,"mysql.erl"},{line,835}]},{emqx_connector_mysql,do_get_status,1,[{file,"emqx_connector_mysql.erl"},{line,190}]},{emqx_misc,'-do_parallel_map/2-anonymous-0-',3,[{file,"emqx_misc.erl"},{line,478}]}]}, resource_id: <<"emqx_authn_mysql:1">>
2023-01-16T09:xxx:12.191000+08:00 [error] Generic server <0.696.xxx8> terminating. Reason: {{case_clause,{error,closed}},[{mysql_protocol,fetch_response,7,[{file,"mysql_protocol.erl"},{line,567}]},{mysql_conn,query,4,[{file,"mysql_conn.erl"},{line,611}]},{mysql_conn,handle_call,3,[{file,"mysql_conn.erl"},{line,301}]},{gen_server,try_handle_call,4,[{file,"gen_server.erl"},{line,721}]},{gen_server,handle_msg,6,[{file,"gen_server.erl"},{line,750}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}. Last message: {query,<<"SELECT count(1) AS T">>,no_filtermap_fun,default_timeout}. State: {state,[8,0,20],8710,#Port<0.1333>,gen_tcp,[],undefined,{xxx,xxx,99,xxx},3306,<<"xxxxxx">>,<<"xxxxxx">>,<<"xxx">>,[],[],<<"caching_sha2_password">>,<<39,85,99,xxx,8,11,69,84,9,22,48,102,45,124,64,65,70,22,118,53,0>>,[],true,false,5000,infinity,infinity,60000,0,2,0,0,[],undefined,{dict,1,16,16,8,80,48,{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},{{[],[],[],[],[],[],[],[],[],[],[],[],[[emqx_authn_mysql|{prepared,1,<<"SELECT password_hash, salt FROM iot_mqtt_user where username = ? LIMIT 1">>,1,0}]],[],[],[]}}},empty,false}. Client <0.29806.644> is dead.
2023-01-16T09:xxx:12.xxx000+08:00 [error] crasher: initial call: mysql_conn:init/1, pid: <0.696.xxx8>, registered_name: [], error: {{case_clause,{error,closed}},[{mysql_protocol,fetch_response,7,[{file,"mysql_protocol.erl"},{line,567}]},{mysql_conn,query,4,[{file,"mysql_conn.erl"},{line,611}]},{mysql_conn,handle_call,3,[{file,"mysql_conn.erl"},{line,301}]},{gen_server,try_handle_call,4,[{file,"gen_server.erl"},{line,721}]},{gen_server,handle_msg,6,[{file,"gen_server.erl"},{line,750}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}, ancestors: [<0.691.xxx8>,<0.687.xxx8>,<0.690.xxx8>,ecpool_sup,<0.2223.0>], message_queue_len: 1, messages: [{'$gen_call',{<0.29852.644>,#Ref<0.253794015.1116995586.82690>},{query,<<"SELECT count(1) AS T">>,no_filtermap_fun,default_timeout}}], links: [#Port<0.1333>,<0.691.xxx8>], dictionary: [], trap_exit: true, status: running, heap_size: 10958, stack_size: 29, reductions: 92421827; neighbours:
2023-01-16T09:xxx:12.xxx000+08:00 [error] Generic server <0.709.xxx8> terminating. Reason: {{case_clause,{error,closed}},[{mysql_protocol,fetch_response,7,[{file,"mysql_protocol.erl"},{line,567}]},{mysql_conn,query,4,[{file,"mysql_conn.erl"},{line,611}]},{mysql_conn,handle_call,3,[{file,"mysql_conn.erl"},{line,301}]},{gen_server,try_handle_call,4,[{file,"gen_server.erl"},{line,721}]},{gen_server,handle_msg,6,[{file,"gen_server.erl"},{line,750}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}. Last message: {query,<<"SELECT count(1) AS T">>,no_filtermap_fun,default_timeout}. State: {state,[8,0,20],8713,#Port<0.1336>,gen_tcp,[],undefined,{xxx,xxx,99,xxx},3306,<<"xxxxxx">>,<<"xxxxxx">>,<<"xxx">>,[],[],<<"caching_sha2_password">>,<<82,20,90,110,97,123,38,51,26,45,112,34,64,105,29,27,70,45,111,76,0>>,[],true,false,5000,infinity,infinity,60000,0,2,0,0,[],undefined,{dict,1,16,16,8,80,48,{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},{{[],[],[],[],[],[],[],[],[],[],[],[],[[emqx_authn_mysql|{prepared,1,<<"SELECT password_hash, salt FROM iot_mqtt_user where username = ? LIMIT 1">>,1,0}]],[],[],[]}}},empty,false}. Client <0.29825.644> is dead.
2023-01-16T09:xxx:12.xxx000+08:00 [error] crasher: initial call: mysql_conn:init/1, pid: <0.709.xxx8>, registered_name: [], error: {{case_clause,{error,closed}},[{mysql_protocol,fetch_response,7,[{file,"mysql_protocol.erl"},{line,567}]},{mysql_conn,query,4,[{file,"mysql_conn.erl"},{line,611}]},{mysql_conn,handle_call,3,[{file,"mysql_conn.erl"},{line,301}]},{gen_server,try_handle_call,4,[{file,"gen_server.erl"},{line,721}]},{gen_server,handle_msg,6,[{file,"gen_server.erl"},{line,750}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}, ancestors: [<0.711.xxx8>,<0.687.xxx8>,<0.690.xxx8>,ecpool_sup,<0.2223.0>], message_queue_len: 1, messages: [{'$gen_call',{<0.29853.644>,#Ref<0.253794015.1116995586.82692>},{query,<<"SELECT count(1) AS T">>,no_filtermap_fun,default_timeout}}], links: [#Port<0.1336>,<0.711.xxx8>], dictionary: [], trap_exit: true, status: running, heap_size: 10958, stack_size: 29, reductions: 92474845; neighbours:
2023-01-16T09:xxx:12.193000+08:00 [error] Generic server <0.713.xxx8> terminating. Reason: {{case_clause,{error,closed}},[{mysql_protocol,fetch_response,7,[{file,"mysql_protocol.erl"},{line,567}]},{mysql_conn,query,4,[{file,"mysql_conn.erl"},{line,611}]},{mysql_conn,handle_call,3,[{file,"mysql_conn.erl"},{line,301}]},{gen_server,try_handle_call,4,[{file,"gen_server.erl"},{line,721}]},{gen_server,handle_msg,6,[{file,"gen_server.erl"},{line,750}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}. Last message: {query,<<"SELECT count(1) AS T">>,no_filtermap_fun,default_timeout}. State: {state,[8,0,20],8714,#Port<0.1337>,gen_tcp,[],undefined,{xxx,xxx,99,xxx},3306,<<"xxxxxx">>,<<"xxxxxx">>,<<"xxx">>,[],[],<<"caching_sha2_password">>,<<68,12,115,16,126,125,37,81,67,59,27,121,52,48,119,51,4,116,7,100,0>>,[],true,false,5000,infinity,infinity,60000,0,2,0,0,[],undefined,{dict,1,16,16,8,80,48,{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},{{[],[],[],[],[],[],[],[],[],[],[],[],[[emqx_authn_mysql|{prepared,1,<<"SELECT password_hash, salt FROM iot_mqtt_user where username = ? LIMIT 1">>,1,0}]],[],[],[]}}},empty,false}. Client <0.29808.644> is dead.
2023-01-16T09:xxx:12.193000+08:00 [error] crasher: initial call: mysql_conn:init/1, pid: <0.713.xxx8>, registered_name: [], error: {{case_clause,{error,closed}},[{mysql_protocol,fetch_response,7,[{file,"mysql_protocol.erl"},{line,567}]},{mysql_conn,query,4,[{file,"mysql_conn.erl"},{line,611}]},{mysql_conn,handle_call,3,[{file,"mysql_conn.erl"},{line,301}]},{gen_server,try_handle_call,4,[{file,"gen_server.erl"},{line,721}]},{gen_server,handle_msg,6,[{file,"gen_server.erl"},{line,750}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}, ancestors: [<0.712.xxx8>,<0.687.xxx8>,<0.690.xxx8>,ecpool_sup,<0.2223.0>], message_queue_len: 1, messages: [{'$gen_call',{<0.298xxx.644>,#Ref<0.253794015.1116995586.82696>},{query,<<"SELECT count(1) AS T">>,no_filtermap_fun,default_timeout}}], links: [<0.712.xxx8>,#Port<0.1337>], dictionary: [], trap_exit: true, status: running, heap_size: 10958, stack_size: 29, reductions: 92446989; neighbours:

2023-01-16T09:54:18.210000+08:00 [warning] [PoolWorker] supervisee <0.696.548> terminated with error: noproc
2023-01-16T09:54:23.233000+08:00 [error] Supervisor: {<0.29865.644>,ecpool_worker_sup}. Context: start_error. Reason: timeout. Offender: id={worker,1},pid=undefined.
2023-01-16T09:54:23.233000+08:00 [error] Supervisor: {<0.29879.644>,ecpool_pool_sup}. Context: start_error. Reason: {shutdown,{failed_to_start_child,{worker,1},timeout}}. Offender: id=worker_sup,pid=undefined.
2023-01-16T09:54:23.233000+08:00 [error] crasher: initial call: mysql_conn:init/1, pid: <0.29877.644>, registered_name: [], exit: {timeout,[{gen_server,init_it,6,[{file,"gen_server.erl"},{line,407}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}, ancestors: [<0.29867.644>,<0.29865.644>,<0.29879.644>,ecpool_sup,<0.2223.0>], message_queue_len: 0, messages: [], links: [<0.29867.644>], dictionary: [], trap_exit: false, status: running, heap_size: 376, stack_size: 29, reductions: 296; neighbours:
2023-01-16T09:54:23.233000+08:00 [error] crasher: initial call: ecpool_worker:init/1, pid: <0.29867.644>, registered_name: [], exit: {timeout,[{gen_server,init_it,6,[{file,"gen_server.erl"},{line,407}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}, ancestors: [<0.29865.644>,<0.29879.644>,ecpool_sup,<0.2223.0>], message_queue_len: 0, messages: [], links: [<0.29865.644>,<0.29877.644>], dictionary: [], trap_exit: true, status: running, heap_size: 376, stack_size: 29, reductions: 226; neighbours:
2023-01-16T09:54:23.233000+08:00 [error] line: 47, mfa: emqx_plugin_libs_pool:start_pool/3, msg: start_ecpool_error, pool_name: 'emqx_authn_mysql:1:309', reason: {{shutdown,{failed_to_start_child,worker_sup,{shutdown,{failed_to_start_child,{worker,1},timeout}}}},{child,undefined,{pool_sup,'emqx_authn_mysql:1:309'},{ecpool_pool_sup,start_link,['emqx_authn_mysql:1:309',emqx_connector_mysql,[{host,{xxxxxxxxxxx}},{port,3306},{user,<<"xxx">>},{password,<<"xxx">>},{database,<<"xxx">>},{auto_reconnect,15},{pool_size,8}]]},transient,false,infinity,supervisor,[ecpool_pool_sup]}}
2023-01-17T09:27:49.254000+08:00 [warning] info: [{timeout,368},{in,{gen,do_call,4}},{out,{io_lib_fread,fread_field,3}}], line: 136, mfa: emqx_sys_mon:handle_info/2, msg: long_schedule, procinfo: [{pid,<0.25829.648>}]

环境

  • EMQX 版本:emqx-5.0.4
  • 操作系统版本:win10

重现此问题的步骤

不定时出现

功能请求

描述你需要的功能

很可能是个bug,请求解决,感谢技术支持!!

问一下,你的 mysql 那边设置了 wait_timeout 或者 interactive_timeout 吗?

1 个赞

我目前正好在测试此问题,我正在将wait_timeout数值改小进行测试。

但请问下,如果因为wait_timeout而断开,不会自动再重连么?可是为什么一直处于断线原因?

我将wait_timeout改小,然后确实会出现断开连接的情况,但均自动重连了。可是我正式环境上却没有自动重连

不好意思我近期没有跟帖子错过了。如果是因为设置了 wait_timeout 导致的问题,就是我们已知的一个问题。
你可以升级到 4.4 的最新版本解决(当前是4.4.15),也可以不要在 MySQL 启用 wait_timeout 和 interactive_timeout。

这个问题解决了没?遇到同样的问题,用的是5.0.9.生产环境的emqx在mysql断开连接后没有自动重连,导致认证失败,在dashboard上点击refresh后恢复
1、emqx遇mysql断开连接后会重连多少次?
2、这个重连次数是否可以配置?如何配置?官方文档没有写