2009-12-17 496 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

相關問題