I want to run some mysql command from my terminal, but each time I run mysql -u root to log in, I get an error:
-bash: mysql: command not found
This is because mysql isn’t in my PATH. Your path is an environment variable that holds directories that your computer will search through to find executable files. You can review what’s in your path by running:
# echo $PATH
This will show you the list of directories that are in your path. This variable is stored in your .bash_profile. On most macs, the .bash_profile file is located in the root of your home directory. To view the current .bash_profile file, go to your home directory
# ~
From there, run the ls command to view all files.
# ls -alh
Near the top of the listing is the .bash_profile file. Cat out the contents to see what’s in your path.
# cat .bash_profile
To update the file, backup your current .bash_profile
# cp .bash_profile .bash_profile_backup
To locate your mysql executable, use the locate command.
# locate mysql | less
Since I’m running MAMP, my mysql executable is located in /Applications/MAMP/Library/bin/mysql To add this to the end my path, run the following command.
# echo 'export PATH=$PATH:/Applications/MAMP/Library/bin' >> ~/.bash_profile
This takes the output of the echo command and puts it into your .bash_profile. Now, you make it persist by sourcing it. This alerts the current terminal to reload the file.
# source ~/.bash_profile
Now you can echo path again to confirm or cat out your file
# echo $PATH
Now, we can use the mysql command from our current location. Enter the password, if prompted.
# mysql -u root -p
Now, you can run your commands with ease.
To quit the mysql cli, run:
# \q