我正在为我的Ruby on Rails 3.0.5应用程序Mac OS X 10.6解决MySQL问题。
我安装了MySQL 5.1版,我收到了这个错误:
dyld: lazy symbol binding failed: Symbol not found: _mysql_init
Referenced from: /Users/manny/.gem/ruby/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle
Expected in: flat namespace
dyld: Symbol not found: _mysql_init
Referenced from: /Users/manny/.gem/ruby/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle
Expected in: flat namespace
Trace/BPT trap
我尝试安装MySQL v5.5,但错误仍然存在。我从.dmg安装了MySQL。
答案 0 :(得分:3)
您不需要删除MySQL并重新安装它,我只使用以下命令。从您的终端进行操作非常简单并且可以解决您的问题:
rvmsudo ARCHFLAGS="-arch x86_64" gem install mysql2 -- --with-mysql-config=/usr/local/mysql/bin/mysql_config --with-opt-lib=/usr/local/mysql/lib
我希望这可以帮助您解决问题。
答案 1 :(得分:0)
给出以下内容......
# Use mysqldump to backup your databases to text files!
# Stop the database server
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
edit /etc/hostconfig and remove the line MYSQLCOM=-YES-
rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
则...
# Install Homebrew if you have not got it.
brew install mysql
export ARCHFLAGS="-arch i386 -arch x86_64" gem install mysql -- --with-mysql dir=/usr/local \ --with-mysql-config=/usr/local/bin/mysql_config
假设你的自制前缀是/ usr / local
否则你总是download所需的MySQL版本,安装并运行以下内容......
env ARCHFLAGS="-arch x86_64" gem install --no-rdoc --no-ri mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
请务必在bash中设置路径,不要使用Rails来使用mysql2 0.2.7。
答案 2 :(得分:0)
我在网上尝试了很多解决方案。最后我决定以另一种方式做到这一点。原因是大多数解决方案都带有绑定问题的修复程序,这可以解决安装过程中的问题。只是授权问题。
首先从Perl库中删除了DBI和DBD / DBD :: mysql文件和文件夹 文件夹:
/Library/Perl/5.16/darwin-thread-multi-2level
之后我通过sudo开始战队
sudo cpan
在那里我安装了第一个DBI,然后安装了DBD :: mysql
install DBI
install DBD::mysql
一切都终于奏效了!希望这有帮助,有人。简单的解决方案。它花了我2天的时间来调试和弄清楚。