I'm getting a 'MySQL server has gone away' error in my application
There are two main reasons for this error message to show:
1) The MySQL query you are trying to execute takes too long and the MySQL server times out.
The solution for this issue is to optimize your database for the queries which fail.
2) You have a crashed table in your database.
The solution is to repair and optimize your database.
If a particular table crashes often and repairing/optimizing it does not help, this most probably means that the table’s structure has an issue with the MySQL server setup. In such cases, the easiest way to fix a crashed MyISAM table for good is to change its database engine from MyISAM to InnoDB.
More information on how to do this can be found in this article.