2009-12-17 267 views
1

想要弄清楚如何在Snow Leopard 10.6.2上运行MySQL和MySQL gem并运行它真的很难。我按照各种职位的指示,但还没有成功:在Snow Leopard上安装MySQL和MySQL gem

我从源码生成MySQL版本5.1.39,并成功安装。当尝试使用登录(MySQL的ü根 - P)MySQL返回以下错误:

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

这显然意味着MySQL服务器(mysqld的)未运行。

which mysql: /usr/local/mysql/bin/mysql 
which ruby: ruby 1.8.7 (2009-04-08 patchlevel 160) [i686-darwin9]) 
gem -v: 1.3.5 
mysql: Server version: 5.1.39 MySQL Community Server (GPL) 

很多周围的Googling后,我发现

  1. 此命令可以启动mysqld:

    sudo /usr/local/mysql/bin/mysqld_safe --user=mysql &

  2. 的预置面板MySQL的工具是可能打破Mac OS X 10.5及更高版本

  3. 这个命令应该在Snow Leopard上正确安装mysql的宝石:

    sudo gem uninstall mysql sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

它结束了,我得到了使用类似耙分贝以下错误:创建:

dyld: lazy symbol binding failed: Symbol not found: _mysql_init 
Referenced from: /opt/local/lib/ruby/gems/1.8/gems/mysql-2.8.1/lib/mysql_api.bundle 
Expected in: flat namespace 
dyld: Symbol not found: _mysql_init 
Referenced from: /opt/local/lib/ruby/gems/1.8/gems/mysql-2.8.1/lib/mysql_api.bundle 
Expected in: flat namespace 

这错误导致我到以下帖子:http://cho.hapgoods.com/wordpress/?p=158,这基本上告诉我与XCode 3.0一起的Ruby版本在64位环境中不起作用,并且解决方案可能是安装32位版本的MySQL。

任何建议,如何进行?

回答

3

虽然从源代码构建并不一定是个坏主意,即使官方发行版是使用更好的编译器构建的,但使用MacPorts(http://www.macports.org/install.php)来完成它可能比自建的安装更好。

尽管您可以将OS X提供的Ruby和MySQL加以塑造,但根据我的经验,在MacPorts领域(/ opt)完全可以更容易地完成工作,并且可以不受干扰地保留原始分布。

另一个优点是您可以获得更新的Ruby可执行文件。例如,10.6随1.8.7p72一起提供,其中MacPorts提供1.8.7p174。

例子:

sudo port install mysql5 
sudo port install mysql5-server 
sudo port install rb-mysql 
+0

非常感谢你的帮助。你真的把我引向了正确的轨道。不幸的是,MacPorts在安装mysql时也存在一些问题,所以最后我按照这里提出的步骤进行操作:http://trac.macports.org/wiki/Migration。卸载并重新安装所有端口后,现在一切似乎都正常。 – auralbee

相关问题