MySQL的套接字问题

时间:2010-06-12 23:16:13

标签: mysql macos osx-snow-leopard mysql.sock

这是最近的问题...... MySQL正在运行,几天前我必须做点什么。我删除了MySQL并尝试使用.dmg文件重新安装。永远不会创建mysql.sock文件,我收到以下错误消息:

Hristo$ mysql
Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (2)

我也试过停止Apache并安装但是Apache给了我一个错误......我不知道这是好还是坏:

Hristo$ sudo apachectl stop
launchctl: Error unloading: org.apache.httpd

我也尝试了MacPorts安装,但套接字文件仍未创建。我真的不知道该怎么做,我不想重新安装Snow Leopard并从头开始:/

我也试过安装32位版本和同样的交易。没有运气。

最后......我尝试进行源代码安装,但是当我进入配置步骤时,出现以下错误:

-bash: ./configure: No such file or directory

该文件是“mysql-5.1.47-osx10.6-x86_64.tar.gz”,所以我认为它是源安装的正确文件,是的我有64位系统。我不知道该怎么办了。

有什么想法吗?

谢谢, 赫里斯托斯

编辑:这是我使用.dmg软件包安装MySQL后得到的...我真的不知道这意味着什么?那么MySQL运行与否?我想不是吗?

Hristo $ ps auxw | grep mysql Hristo 1599 0.2 0.0 2425520 96 s000 R + 3:39 AM 0:00.00 grep mysql

3 个答案:

答案 0 :(得分:4)

终于想通了......我几乎尝试了所有的东西,但它都归结为删除MySQL的每一个实例,当我删除所有内容时,我错过了一些东西。要完全卸载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

此外,您必须从MYSQLCOM=-YES-文件中删除“/etc/hostconfig”行。我的问题是我从未删除/etc/my.cnf文件!如果你不删除这个文件,显然你会遇到套接字问题!所以那就是罪魁祸首。然后我只是从MySQL网站的.dmg文件中定期安装,一切正常:)

感谢大家的建议和时间!

答案 1 :(得分:1)

套接字位置在my.cnf中定义

mysql客户端和服务器都必须使用相同的套接字路径才能连接。确保mysql客户端和服务器都使用相同的配置文件或更改配置,以便它们使用相同的套接字。

您也可以which mysql确保使用正确的mysql二进制文件。

答案 2 :(得分:1)

要检查的事项:

  1. mysql是否正在运行? ps auxw | grep mysql。如果没有任何显示,它就没有运行,这解释了缺少套接字
  2. 如果apache没有运行,那么它会在尝试阻止它时抛出错误。如果Apache正在运行,ps auxw|grep httpd应该显示许多httpd子进程。如果它无法启动,它将在error_log中解释为什么你可以从httpd.conf文件中获取它的位置。
  3. 您下载的mysql .tar.gz的文件名表明它实际上是一个预编译的二进制版本。因此,不会有“配置”脚本。 mysql.com没有MacOS特定的源文件。对于非Linux系统,只有一个通用的.tar.gz here(在下拉框中选择“源代码”)..