ChatGPT解决这个技术问题 Extra ChatGPT

Mysql command not found in OS X 10.7

I cant get my mysql to start on os x 10.7. It is located in /usr/local/mysql/bin/mysql

I get command not found when I type mysql --version in the terminal.

I tried this can't access mysql from command line mac but still get command not found. I tried installing mysql with the dmg and i have tried to install it through homebrew and I cant get it to work. When I try to start mysql with homebrew I get MySQL won't start

This is my $PATH:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin:/Users/Victoria/bin:/usr/local//usr/local/mysql/bin/private/var/mysql/private/var/mysql/bin

Is the install directory in your PATH?
There are a number of things to check. Firstly follow the install instructions carefully that are provided with the DMG & cover all the relevant steps for OS X. There is a system prefs panel provided to start/stop mysql too. Additionally OSX is notorious for changing the location of mysql.sock - you will need to set it to /tmp/mysql.sock in my.cnf & php.ini - google that, there will be many guides
mysql --version will only work if you instruct BASH to have that shortcut command - this is detailed in the install read me
If you navigate to mysql folder cd /usr/local/mysql/bin & then issue the version command, it will work. ./mysql --version

u
user987339

This is the problem with your $PATH:

/usr/local//usr/local/mysql/bin/private/var/mysql/private/var/mysql/bin.

$PATH is where the shell searches for command files. Folders to search in need to be separated with a colon. And so you want /usr/local/mysql/bin/ in your path but instead it searches in /usr/local//usr/local/mysql/bin/private/var/mysql/private/var/mysql/bin, which probably doesn't exist.

Instead you want ${PATH}:/usr/local/mysql/bin.

So do export PATH=${PATH}:/usr/local/mysql/bin.

If you want this to be run every time you open terminal put it in the file .bash_profile, which is run when Terminal opens.


now I am getting the error I was getting with homebrew ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
This means that the mysql socket is misplaced, which is a very different error. That is a problem with mysql, not your $PATH.
Do what the other answer said: Remove this pid file, make sure all the instances are stopped (kill any processes not going down), check nothing is listening the MySQL port 3306 (netstat should help) and try to start MySQL again.
I would recommend opening Activity Monitor and killing all instances of mysql
My mysql binary wasn't in /usr/local/mysql/bin.
g
gzc

One alternative way is creating soft link in /usr/local/bin

ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql

But if you need other executables like mysqldump, you will need to create soft link for them.


or sudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
S
SreerajS

I faced the same issue, and finally i got a solution. Please go through with the below steps, if you are using MAMP.

Start MAMP or MAMP PRO Start the server Open Terminal (Applications -> Utilities) Type in: (one line) 
 /Applications/MAMP/Library/bin/mysql --host=localhost -uroot -proot

This works for me.


I
Inamur Rahman

If you installed MySQL Server and you still get

mysql -u root -p command not found

You're most likely experiencing this because you have an older mac version.

Try this:

in the home directory in terminal open -t .bash_profile

paste export PATH=${PATH}:/usr/local/mysql/bin/ inside and save it

instead of writing mysql -u root -p paste the following in your terminal:

/usr/local/mysql/bin/mysql -u root -p 

Or use Alias instead of writing the full path

alias mysql=/usr/local/mysql/bin/mysql

Enter your password. Now you're in.


Instead of writing full path use alias Eg: alias mysql=/usr/local/mysql/bin/mysql
s
shivam

You have to set PATH for mysql in your .bashrc file using following:

  export PATH=$PATH:/usr/local/mysql/bin

But If you are using oh my zsh then you have to add path inside .zshrc file.


n
nurealam siddiq

Your PATH might not setup. Go to terminal and type:

echo 'export PATH="/usr/local/mysql/bin:$PATH"' >> ~/.bash_profile

Essentially, this allows you to access mysql from anywhere.

Type cat .bash_profile to check the PATH has been setup.

Check mysql version now: mysql --version

If this still doesn't work, close the terminal and reopen. Check the version now, it should work. Good luck!


j
josliber

I have tried a lot of the suggestions on SO but this is the one that actually worked for me:

sudo sh -c 'echo /usr/local/mysql/bin > /etc/paths.d/mysql'

then you type

mysql

It will prompt you to enter your password.


I haven't used the new Mac version, my mac died :( so I cannot test it anymore
@zazu Sorry for your lost.
M
Martin Brisiak

Use these two commands in your terminal

alias mysql=/usr/local/mysql/bin/mysql
mysql --user=root -p

Then it will ask you to enter password of your user pc

Enter password:


J
Jon Gear

If you are using terminal you will want to add the following to ./bash_profile

export PATH="/usr/local/mysql/bin:$PATH"

If you are using zsh, you will want to add the above line to your ~/.zshrc


K
KayV

Add the following lines in bash_profile:

alias startmysql='sudo /usr/local/mysql/support-files/mysql.server start'
alias stopmysql='sudo /usr/local/mysql/support-files/mysql.server stop'

and save the bash_profile.

Now, in the terminal start and stop the mysql server using the following commands:

startmysql //to start mysql server

and

stopmysql //to stop mysql server

u
user1502826

With MAMP

Locate mysql usually at /Applications/MAMP/Library/bin/mysql sudo vi /etc/paths Add this path to file /Applications/MAMP/Library/bin :wq (Save and quit file) Close Terminal windows Reopen Terminal and type mysql and it should work


z
zod

I installed MAMP and phpmyadmin was working.

But cannot find /usr/local/bin/mysql

This fixed it

sudo ln -s /Applications/MAMP/Library/bin/mysql /usr/local/bin/mysql

its creating a symlink . To remove it try this linuxize.com/post/how-to-remove-symbolic-links-in-linux
R
Ru Chern Chong

in terminal do:

vi ~/.bash_profile 

And add this line:

export PATH=${PATH}:/usr/local/mysql/bin

and the type this in terminal:

mysql -u [username] -p [password]

M
Manuel Ortiz

Maybe I'll help someone else. None of the above answers worked for Catalina. Finally, this solved the problem

echo 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> /Users/$(whoami)/.bash_profile

Of course, you have to change for the version of mysql you have installed


u
unclear fate

May be i will help out some of you that even though if you are unable to open mysql from terminal after trying changing path in .bash_profile

then you always found the error "MYSQL not found" hence you can use the following command directly it will ask for your password and sql bash is opened

/usr/local/mysql/bin/mysql -u root -p


m
m.e

I had same issue after installing mariadb via HomeBrew, brew doctor suggested to run brew link mariadb - which fixed the issue.


S
Sushant Kumar

It is possible you are using zsh instead of bash then you have to enter the above mentioned commands in .zshenv instead of .bash_profile