I'm looking for a way to limit the max running time of a query on mysql server. I figured this could be done through the my.cnf
configuration file, but couldn't find anything relevant in the docs. Anyone knows if this could be done? thanks.
As of MySQL 5.7, you can include a MAX_EXECUTION_TIME
optimizer hint in your SELECT
queries to instruct the server to terminate it after the specified time.
As far as I know, if you want to enforce a server-wide timeout, or if you care about queries besides SELECT
s, the original answer is still your only option.
There is no way to specify a maximum run time when sending a query to the server to run.
However, it is not uncommon to have a cron job that runs every second on your database server, connecting and doing something like this: