客户端如果10分钟左右没有任何查询操作,再次查询时,会报以下错误:
Lost connection to MySQL server during query
如下图所示:
服务器相关配置如下:
max_allowed_packet 524288000
mysqlx_max_allowed_packet 67108864
slave_max_allowed_packet 1073741824
connect_timeout 10
delayed_insert_timeout 300
have_statement_timeout YES
innodb_flush_log_at_timeout 1
innodb_lock_wait_timeout 50
innodb_rollback_on_timeout OFF
interactive_timeout 28800
lock_wait_timeout 31536000
mysqlx_connect_timeout 30
mysqlx_idle_worker_thread_timeout 60
mysqlx_interactive_timeout 28800
mysqlx_port_open_timeout 0
mysqlx_read_timeout 30
mysqlx_wait_timeout 28800
mysqlx_write_timeout 60
net_read_timeout 30
net_write_timeout 60
rpl_stop_slave_timeout 31536000
slave_net_timeout 60
wait_timeout 28800
MYSQL版本8.0.
连接数据库采用MyDAC相关控件,连接数据库的代码如下:
function CreateMysqlCon(const AsDbHost, AsDbPort, AsDbUser, AsDbPassword, AsDbName :string; var AMyConnection :TMyConnection; var AsMsg :string):Boolean;
begin
try
if not Assigned(AMyConnection) then
AMyConnection := TMyConnection.Create(nil);
AMyConnection.Close;
AMyConnection.LoginPrompt := False;
AMyConnection.Server := AsDbHost;
AMyConnection.Port := StrToInt(AsDbPort);
AMyConnection.Username := AsDbUser;
AMyConnection.Password := AsDbPassword;
AMyConnection.Database := AsDbName;
AMyConnection.Options.UseUnicode := True;
//g_MySqlCon.Options.KeepDesignConnected := False;
AMyConnection.Options.Charset := 'utf8';
AMyConnection.ConnectionTimeout := 15;
AMyConnection.Options.Interactive := True;
AMyConnection.Open;
Result := True;
except
on e:Exception do
begin
AsMsg := '连接mysql数据库失败,原因:' + e.Message;
Result := False;
end;
end;
end;
请问是MYSQL服务端如何配置才能解决此问题?