简体   繁体   English

无法在 Mac OS X 上安装 MySQL

[英]Unable to install MySQL on Mac OS X

I'm having the exact issue as described in this question: MYSQL Installation Troubles .我遇到了这个问题中描述的确切问题: MYSQL Installation Troubles Unfortunately none of the answers helped me (and it's closed).不幸的是,没有一个答案对我有帮助(并且已经关闭)。

I try to learn Ruby on Rails and don't get MySQL working (so it is programming related).我尝试学习 Ruby on Rails 并且不让 MySQL 工作(所以它与编程相关)。

I typed: rake db:create and got:我输入: rake db:create并得到:

!!!The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.
rake aborted!
no such file to load -- mysql

(See full trace by running task with --trace)
HD-Auckland:shoutbox max$ gem install mysql
WARNING:  Installing to ~/.gem since /Library/Ruby/Gems/1.8 and
      /usr/bin aren't both writable.
WARNING:  You don't have /Users/max/.gem/ruby/1.8/bin in your PATH,
      gem executables will not run.
Building native extensions.  This could take a while...
ERROR:  Error installing mysql:
    ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lmygcc... no
checking for mysql_query() in -lmysqlclient... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Gem files will remain installed in /Users/max/.gem/ruby/1.8/gems/mysql-2.8.1 for inspection.
Results logged to /Users/max/.gem/ruby/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out

So as it told me I tried sudo gem install mysql and got:所以正如它告诉我的那样,我尝试了sudo gem install mysql并得到:

Building native extensions.  This could take a while...
ERROR:  Error installing mysql:
    ERROR: Failed to build gem native extension.

/opt/local/bin/ruby extconf.rb
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lmygcc... no
checking for mysql_query() in -lmysqlclient... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/opt/local/bin/ruby
    --with-mysql-config
    --without-mysql-config
    --with-mysql-dir
    --without-mysql-dir
    --with-mysql-include
    --without-mysql-include=${mysql-dir}/include
    --with-mysql-lib
    --without-mysql-lib=${mysql-dir}/lib
    --with-mysqlclientlib
    --without-mysqlclientlib
    --with-mlib
    --without-mlib
    --with-mysqlclientlib
    --without-mysqlclientlib
    --with-zlib
    --without-zlib
    --with-mysqlclientlib
    --without-mysqlclientlib
    --with-socketlib
    --without-socketlib
    --with-mysqlclientlib
    --without-mysqlclientlib
    --with-nsllib
    --without-nsllib
    --with-mysqlclientlib
    --without-mysqlclientlib
    --with-mygcclib
    --without-mygcclib
    --with-mysqlclientlib
    --without-mysqlclientlib


Gem files will remain installed in /opt/local/lib/ruby/gems/1.8/gems/mysql-2.8.1 for inspection.
Results logged to /opt/local/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out

I also tried this command sudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config and got the same error!我也试过这个命令sudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config并得到同样的错误!

What can I do?我能做什么? I only want to migrate my db to the MySQL server!我只想将我的数据库迁移到 MySQL 服务器!

Thanks for help, Mexx感谢您的帮助,梅克斯

Update:更新:

Thanks for all the great response!感谢所有伟大的回应! Yes, I am on Snow Leopard.是的,我在雪豹上。 I downloaded mysql from here http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg and installed it.我从这里下载了 mysql http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg并安装了它。 I then followed Hivelogic's guide for the mysql installation.然后我按照 Hivelogic 的 mysql 安装指南进行操作。

when I now type: sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config or sudo gem istall mysql or sudo gem install mysql -- --with-mysql-dir=/usr/local/mysql当我现在输入: sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_configsudo gem istall mysqlsudo gem install mysql -- --with-mysql-dir=/usr/local/mysql

I will get:我会得到:

Building native extensions.  This could take a while...
fotoSuccessfully installed mysql-2.8.1
1 gem installed
Installing ri documentation for mysql-2.8.1...

No definition for next_result

No definition for field_name

No definition for field_table

No definition for field_def

No definition for field_type

No definition for field_length

No definition for field_max_length

No definition for field_flags

No definition for field_decimals

No definition for time_inspect

No definition for time_to_s

No definition for time_get_year

No definition for time_get_month

No definition for time_get_day

No definition for time_get_hour

No definition for time_get_minute

No definition for time_get_second

No definition for time_get_neg

No definition for time_get_second_part

No definition for time_set_year

No definition for time_set_month

No definition for time_set_day

No definition for time_set_hour

No definition for time_set_minute

No definition for time_set_second

No definition for time_set_neg

No definition for time_set_second_part

No definition for time_equal

No definition for error_errno

No definition for error_sqlstate
Installing RDoc documentation for mysql-2.8.1...

No definition for next_result

No definition for field_name

No definition for field_table

No definition for field_def

No definition for field_type

No definition for field_length

No definition for field_max_length

No definition for field_flags

No definition for field_decimals

No definition for time_inspect

No definition for time_to_s

No definition for time_get_year

No definition for time_get_month

No definition for time_get_day

No definition for time_get_hour

No definition for time_get_minute

No definition for time_get_second

No definition for time_get_neg

No definition for time_get_second_part

No definition for time_set_year

No definition for time_set_month

No definition for time_set_day

No definition for time_set_hour

No definition for time_set_minute

No definition for time_set_second

No definition for time_set_neg

No definition for time_set_second_part

No definition for time_equal

No definition for error_errno

No definition for error_sqlstate

And doing rake db:create will end up with:并且做rake db:create最终会得到:

(in /Users/max/rails/shoutbox)
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.
rake aborted!
no such file to load -- mysql

(See full trace by running task with --trace)

for some reason (maybe because i'm using rubygems 1.3.7 or installing mysql-2.8.1)出于某种原因(可能是因为我正在使用 ruby​​gems 1.3.7 或安装 mysql-2.8.1)

sudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

did not work for me so after taking a look at gems/mysql-2.8.1/ext/mysql_api/extconf.rb i found out that the extconf.rb looks in the PATH for mysql_config so i tried对我不起作用,所以在查看 gems/mysql-2.8.1/ext/mysql_api/extconf.rb 后我发现 extconf.rb 在 PATH 中查找 mysql_config 所以我试过了

export PATH=$PATH:/usr/local/mysql/bin
sudo gem install mysql

and did the job并完成了工作

Are you on snow leopard?你是雪豹吗? You have to execute the C dependencies compiles with x64 headers, try:您必须使用 x64 标头执行 C 依赖项编译,请尝试:

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

I have run into issues with the MySQL gem myself and these are the only 2 links I actually bookmarked, so one of should have actually worked for me.我自己遇到了 MySQL gem 的问题,这些是我实际添加书签的唯一 2 个链接,因此其中一个应该对我有用。 Thought I'd share.以为我会分享。

  1. http://wonko.com/post/how-to-install-the-mysqlruby-gem-on-mac-os-x-leopard http://wonko.com/post/how-to-install-the-mysqlruby-gem-on-mac-os-x-leopard
  2. http://rapd.wordpress.com/2007/05/17/battle-against-ror-gem-install-mysql/ http://rapd.wordpress.com/2007/05/17/battle-against-ror-gem-install-mysql/

The second one is kind of old, so not sure if it still applies.第二个有点旧,所以不确定它是否仍然适用。

I had the same problem.我有同样的问题。 I solved installing first the adapter:我解决了首先安装适配器:

gem install activerecord-mysql2-adapter

Then, install mysql2 gem using然后,使用安装 mysql2 gem

sudo gem install mysql2 -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

In order to install the MySQL gem on OS X, you need to install the XCode developer tools that come on your installation disk.为了在 OS X 上安装 MySQL gem,您需要安装安装盘上的 XCode 开发人员工具。 You can also download them from http://developer.apple.com .您也可以从http://developer.apple.com下载它们。

I just end up with that problem using this command:我只是使用以下命令解决了这个问题:

 sudo env ARCHFLAGS="-arch i386" gem install --no-rdoc --no-ri mysql -v 2.8.1 -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

Indeed I needed to install mysql gem version 2.8.1 on my mac OS X Leopard 10.5.8 running the mysql-5.6.2-m5-osx10.5-x86 from dmg file.实际上,我需要在运行 dmg 文件中的 mysql-5.6.2-m5-osx10.5-x86 的 mac OS X Leopard 10.5.8 上安装 mysql gem 2.8.1 版。 I had the issue that it couldn't find libraries and I made some manipulations, then it couldn't install because of permissions.我遇到了找不到库的问题,我做了一些操作,然后由于权限而无法安装。 I found out that command, added the version I needed and changed architecture to the one corresponding to my mysql installation.我找到了那个命令,添加了我需要的版本并将架构更改为与我的 mysql 安装相对应的版本。

So if somenone still wants to install that version :) let's try !所以如果有人仍然想安装那个版本:)让我们试试! But we are not a lot installing this probably, and less on Leopard!但是我们可能安装的并不多,而在 Leopard 上安装的更少!

要使用的正确 gem 是mysql2

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM