Verifique os logs do MySQL em / var / log ou possivelmente em / var / lib / mysql.
Minha aposta é que o motivo de "travar" é porque ele está fazendo algum tipo de reparo em tabelas que poderiam ter sido corrompidas. Eu vi "mysql" demorar 20 minutos ou mais para "iniciar" ... Quanto tempo você deu antes de assumir que está "pendurado"?
Veja se os registros indicam alguma coisa. Além disso, depois de iniciar o mysql uma vez, tente executar isto para verificar se o MySQL está, de fato, executando:
ps aux | grep mysql