Just recently, I started receiving errors that pertained to a crashed semaphore table. A quick web search indicated that somehow, my MySQL database was not shutdown properly.
Many suggestions to fix this issue involved using PHPMyAdmin - but I've always been reluctant to use this tool as there are many accounts of this tool being used by crackers to get access to a database.
Finally, I've ended up finding the best - and most succinct - way of fixing a crashed table, using an MySQL command. For instance, for the "semaphore" table...
mysql> REPAIR TABLE semaphore;
That's all there is to it: you do not need to restart your HTTP server - just refresh the web browser that accesses the database.