socket problem with MySQL
This is a recent problem... MySQL was working and a 开发者_StackOverflowcouple of days ago I must have done something. I deleted MySQL and tried reinstalling using the .dmg file. The mysql.sock file never gets created and I get the following error messages:
Hristo$ mysql
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (2)
I also tried stopping Apache and installing but Apache gave me an error... I don't know if this is good or bad:
Hristo$ sudo apachectl stop
launchctl: Error unloading: org.apache.httpd
I tried the MacPorts installation as well but the socket file still didn't get created. I don't really know what to do and I don't want to reinstall Snow Leopard and start from scratch :/
I also tried installing the 32-bit version and same deal. No luck.
Finally... I tried doing the source installation but when I get to the configuration step, I get the following error:
-bash: ./configure: No such file or directory
The file is "mysql-5.1.47-osx10.6-x86_64.tar.gz" so I think it is the proper file for source installation and yes I have a 64 bit system. I don't know what to do anymore.
Any ideas?
Thanks, Hristo
Edit: This is what I get after installing MySQL using the .dmg package... I don't really know what it means? So is MySQL running or not? I think not?
Hristo$ ps auxw | grep mysql Hristo 1599 0.2 0.0 2425520 96 s000 R+ 3:39AM 0:00.00 grep mysql
Finally figured it out... I tried pretty much everything but it all came down to deleting every instance of MySQL and I was missing something when I was deleting everything. To completely uninstall MySQL:
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm /etc/my.cnf
Also, you have to remove the line “MYSQLCOM=-YES-
” from the /etc/hostconfig
file. My problem was that I never removed the /etc/my.cnf
file! If you don't delete this file, apparently you get socket issues! So that was the culprit. Then I just did a regular install from the .dmg
file from the MySQL website and everything works :)
Thanks everyone for their suggestions and time!
The socket location is defined in my.cnf
Both the mysql client and server must use the same socket path in order to connect. Make sure that both the mysql client and server use the same configuration file or change the configuration so that they use the same socket.
You may also do which mysql
to ensure you're using the right mysql binary.
Things to check:
- Is mysql even running?
ps auxw | grep mysql
. If nothing shows up, it's not running, which explains the lack of a socket - If apache wasn't running, then it'd throw an error trying to stop it.
ps auxw|grep httpd
should show a number of httpd child processes if Apache is running. If it can't start up, it will explain why in the the error_log, the location of which you can get from the httpd.conf file. - The filename of the mysql .tar.gz you downloaded suggests that it's actually a pre-compiled binary version. As such there wouldn't be a 'configure' script. mysql.com doesn't have a MacOS specific source file. There's just a generic .tar.gz here (select 'Source Code' in the dropdown box) for non-Linux systems..
精彩评论