I'm scraping a site with mechanize and pushing to a mysql db. I am getting these sys read errors a lot and I'm not sure what the solution is. I'm using the Ruby-mysql gem.
I was doing the exact same thing (mechanize + mysql), and I solved it by wrapping my mysql calls with a begin/rescue/end clause:
begin
mysql_insert data
rescue Interrupt, Errno::EINTR
mysql_close connection
connection = mysql_connect
retry
end
Note that this puts your code in an infinite loop, if you use this in something real I would recommend putting some limiter on it. All the mysql_* are my own methods.