The mysql Command not found
error occurs because your computer can’t find a program associated with the command on your computer’s PATH
environment variable.
$ mysql
-bash: mysql: command not found
The PATH
environment variable is a list of directories specifying where your computer should look for a program to run from the Terminal.
When you execute the mysql
command from the Terminal, your computer will look through all the folders listed under PATH
variable to find the mysql
executable file and pass your commands to it.
The way to fix the error is to add MySQL bin/
folder to your PATH
environment variable, but where the bin/
folder is located will be different depending on the Operating System you used on your Computer.
This tutorial will help you fix the error for Windows, macOS and Linux-based Operating Systems. Let’s start with Windows first.
Fix mysql command not found error in Windows
If you’re using Windows OS on your Computer, MySQL bin/
folder is usually located on C:
drive as shown below:
C:\Program Files\MySQL\MySQL Server 8.0\bin
MySQL appends the installed version on the folder name, so if you installed another version of the MySQL server, then your path should have the version in the path as well.
For version 7, the path becomes MySQL Server 7.0\bin
Now the path above is only valid when you install MySQL using the official MySQL installer.
If you install MySQL using third-party applications like XAMPP or WAMP, then the location of the bin/
folder may be different.
For XAMPP, it may be located on XAMPP
folder as follows:
D:\XAMPP\mysql\bin
You need to check your Computer to find the actual folder location.
Once you find your bin/
folder location, use the following steps to add the folder to your PATH
environment variable:
Go to My Computer or This PC for Windows 10. Right-click on empty space and open the Properties window:
Click Advanced system settings from the left bar of the Properties window:
Now you’re in the System Properties window. Click the Environment Variables...
button:
Now you’re in the Environment Variables window. Select the Path
variable from either the User Variables or System Variables table and click on the Edit...
button:
At the end of the variable values, add C:\Program Files\MySQL\MySQL Server 8.0\bin
as a new entry to your Path
variable:
Don’t forget to adjust the location of the bin/
folder if you’re using third-party installers.
Please enter the absolute path from the drive letter to your MySQL program’s bin/
folder.
Once done, click OK
and open a new Terminal or Command Line window. If you’re calling mysql
from the VSCode terminal, you need to restart VSCode first before trying again.
The mysql
command not found error should be fixed and you should be able to check this using the mysql --version
command:
$ mysql --version
mysql Ver 8.0.26 for Win64 on x86_64 (MySQL Community Server - GPL)
And that’s how you fix the error on Windows.
Fix mysql command not found error in macOS
On macOS, you should be able to use mysql
command once you installed MySQL using the official macOS installer or Homebrew.
If you find the command not found error, then you need to manually add the bin/
folder to your .bashrc
or .zshrc
file if you use ZSH command line client.
If you’re installing MySQL using the official installer, then your MySQL bin/
folder should be located on /usr/local/bin/mysql
But if you installed MySQL using Homebrew, then the bin/
folder may be located in the /usr/local/Cellar/mysql
folder as shown below:
/usr/local/Cellar/mysql/8.0.26/bin
The most recent version of Homebrew installation will automatically create a symlink from /usr/local/bin/mysql
to the Cellar/mysql
folder.
But if you still can’t run mysql
command, then you need to add the bin/
folder to the PATH
variable manually.
To add bin/
folder to the PATH
variable, open your .bashrc
or .zshrc
file and append the following export PATH
statement on the last line:
export PATH=/usr/local/Cellar/mysql/8.0.26/bin:$PATH
You need to adjust the bin/
folder location above to your Computer’s actual location.
Now you should be able to run mysql
commands from Mac’s Terminal.
Fix mysql command not found error in Linux
When you’re using a Linux-based Operating System like Ubuntu, the mysql command not found error usually comes with a guide to install the mysql-client-core
application as shown below:
$ mysql
Command 'mysql' not found, but can be installed with:
sudo apt install mysql-client-core-8.0 # version 8.0.26-0ubuntu0.20.04.2, or
sudo apt install mariadb-client-core-10.3 # version 1:10.3.31-0ubuntu0.20.04.1
You just need to follow the instructions and install one of the two packages above. I recommend you use the official mysql-client-core
package.
The mariadb-client-core
package is for MariaDB database platform, which is a fork of MySQL.
Install the package using the sudo
command as shown below:
sudo apt install mysql-client-core-8.0
You will be asked for your root password. Once the installation is completed, you should be able to run mysql
commands from the Terminal:
$ mysql --version
mysql Ver 8.0.26-0ubuntu0.20.04.2 for Linux on x86_64 ((Ubuntu))
If you already installed mysql-client-core
package but still found the MySQL command not found error, then your MySQL bin/
folder path may not be added to your PATH
variable yet.
To fix the error, you can try to uninstall mysql-client-core
package first:
sudo apt remove mysql-client-core-8.0
Then install it again:
sudo apt install mysql-client-core-8.0
If the error still appears, then you need to manually add the MySQL bin/
folder to your PATH
variable.
You need to check manually where the bin/
folder is located. It’s commonly located in /usr/bin/
or /usr/local/bin/
.
Once you find the bin/
folder, navigate to your home directory from the Terminal and open your .bashrc
file using a text editor like nano
:
cd ~ # navigate to home directory
nano .bashrc # open the file using nano text editor
Inside the .bashrc
file, add an export PATH
statement on the last line as follows:
export PATH=$PATH:/usr/bin
That should be enough to fix the error. Save your changes and restart your Terminal.
Now you should be able to access mysql
command from Linux Terminal.