A colleague of mine had a problem with his Cygwin setup. For some reason, he couldn’t just run “mysql” to start his MySQL command-line client. The error that he was getting back was:
$ mysql sh.exe: mysql.exe: command not found
Typing the full path to mysql.exe every time is more than annoying. After searching the web for a bit, I learned that the problem might be with the msys/cygwin terminal, which doesn’t like the backslashes that Windows uses in the PATH variable. I’ve tried a few different variations of setting up the path, but eventually gave up. It just didn’t work.
But since there is more than one way to do it, I solved the problem in a completely different way – an alias. Just edit the .bashrc file and add the following line:
alias mysql="/c/full/path/to/your/mysql.exe"
Obviously, replace the fake path with the full path to your mysql.exe and restart the terminal. From now on, every time you type “mysql“, it’ll be like you’ve typed the whole thing again.
P.S.: The same solution is applicable to the other similar problems.