In mysql-server-5.1.71-1.el6.x86_64 there is a check in init script:
[ -S /var/lib/mysql/mysql.sock ]
When the socket exist (unclean shutdown for example), the mysqld did not start because this check by printing a message that this socket is in use, which is wrong. There should be check by lsof instead:
# lsof /var/lib/mysql/mysql.sock
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 14235 mysql 12u unix 0xffff880214ec0980 0t0 169827 /var/lib/mysql/mysql.sock
Only lsof could tell if the socket is really in use or not. If yes, the output above tells. If the socket is not in use, the output above is empty.
The workaround is to delete the socket manually before trying to start MySQL daemon.
Thank you for reporting, this is most probably the same issue as bug #1037650, so marking as duplicate.
*** This bug has been marked as a duplicate of bug 1037650 ***