service запускает System V init script в наиболее "предсказуемой" обстановке(удаляя большинство текущих переменных среды)
Фактически LANG и TERM единственные переменные которые передаются init скрипту.
----
Важно заметить, что /etc/init.d/ deprecated и в следующих мажорных версиях дистрибутивов не будут работать.
====
Т.е. используйте service. Посмотрите какие переменные у вас есть касательно MySql.
Та ошибка которую вы видите(насколько я знаю)
исправляется заменой пути с localhost на 127.0.0.1 в вашем клиенте(тем самым "заставляя" клиент коннектиться не через сокет, а через tcp)
В любом случае, покажите логи, можно что-то будет сказать.