Question: Should I use MySQL with SSL protocol if my web application and database are on the same machine?

Answer: 
If MySQL and the client application run on the same machine, then the best idea would be to have them communicate via a [Unix domain socket](http://dev.mysql.com/doc/refman/5.6/en/server-options.html#option_mysqld_socket). I don't think one can spy communications on this channel without kind of rewriting some low-level system calls. SSL simply does not apply in this case.

Even if you use a local TCP connection, being spied is very unlikely, I believe you need root privileges to sniff loopback.
That depends on how much you trust the other users on that machine. If you don't use SSL, the logins will be passed as cleartext, and potentially sniffable by anyone else on that machine.