Just in case if you are using Monit version 5.1.1 and try to monitor mysql with sock it will always fail with "Connection failed"
my monit configuration file is:
check process mysql with pidfile /var/lib/mysql/mysql.pid group database start program = "/etc/init.d/mysql start" stop program = "/etc/init.d/mysql stop" if failed unixsocket /var/lib/mysql/mysql.sock protocol MYSQL then restart if 5 restarts within 5 cycles then timeout
The logs was not showing any clear error and all posts in internet was about using TCP to mysql.
The solution that I found was to upgrade monit to 5.6, after the upgrade monit will be able to monitor mysql sock without any issue.
Using: CentoOS 6 Monit 5.1.1-4.el6 from repository epel