2

I have mysql running in my fedora system. I have xampp setup on the system and php projects present in the webspace are working fine. PhpMyAdmin is working fine. echoing phpinfo() in a PHP script also shows mysql enabled. But running mysql connect command

mysql -u[username] -p[password]

Gives this -

bash: mysql: command not found

How do I fix that? Any pointers?

I guess I need to do some pointing (define some path in some file) so that my system knows that mysql is installed. What exactly do I have to do?

Additional Details
This system was someone else's and he is not available here. May be PHP/Mysql was setup already in the system. I just freshly extracted xampp for linux into /opt/lampp/ and have put all the above mentioned things (PHP projects and PhpMyAdmin) there. After doing that I had a socket problem (PhpMyAdmin was not working and showing this)-

#2002 - The server is not responding (or the local MySQL server's socket is not correctly configured) 

I restarted lampp using ./lampp restart but problem remained. Then after turning on system today, I started lampp and everything worked just fine. No project issues anymore only command line Mysql not working

Sandeepan Nath
  • 647
  • 6
  • 13
  • 29

4 Answers4

7

Like Khaled said, the "command not found" issue is likely a problem with the path setup. If you try locate mysql and it comes up with something like /opt/lampp/mysql/bin/mysql, then you need to export PATH=$PATH:/opt/lampp/mysql/bin' to get a simple mysql to work. Additionally, you would probably want to add that to your ~/.bash_profile so that it will get reset the next time you login.

As for the socket issue, your my.cnf file will specify where the socket is located. The mysql client binary is going to look in whatever default location it is compiled with. In the case of Fedora, this is /var/lib/mysql/mysql.sock. If that is in an alternate location, you need to specify that alternate location on the commandline with mysql --socket=/path/to/mysql.sock. This file will also not be present if MySQL is not running, so you may want to check ps output ps -efa|grep -i mysql to verify it is running. As a side note, you will also see the "socket=" on the ps output, which is setting where the server is going to write the socket.

Alex
  • 6,603
  • 1
  • 24
  • 32
  • Just making it more clear for others - "then you need to `export PATH=$PATH:/opt/lampp/mysql/bin`" means run this in console. – Sandeepan Nath Jan 13 '11 at 09:28
1

You need to locate the Mysql binaries folder and add that path to your $PATH variable. You can use find or locate to search for mysql binaries.

Khaled
  • 36,533
  • 8
  • 72
  • 99
0

not familiar with Fedora, but looks like you installed mysql-server, but mysql-client is not installed

jet
  • 475
  • 4
  • 8
0

I am familiar with Fedora, and I think Jet is probably right. They make a distinction between mysql-server and mysql-client.

Trueblood
  • 113
  • 4