Mac OS X 10.6 (Snow Leopard) 安装 ruby mysql

本文所介绍的方法针对 Mac OS X 10.6 Snow Leopard (雪豹), 仅在预装 10.6.3 的新 MacBook Pro 上测试过,不知道在升级安装的旧机器上是否适用。

下载安装 MySQL

MySQL 下载页面找到“Mac OS X ver. 10.6 (x86, 64-bit), DMG Archive”下载安装。

如果你不小心曾经安装过其它版本的,按照如下过程卸载干净,如果有数据务必做好备份

  1. 关掉 MySQL Server
  2. sudo rm /usr/local/mysql
  3. sudo rm -rf /usr/local/mysql*
  4. sudo rm -rf /Library/StartupItems/MySQLCOM
  5. sudo rm -rf /Library/PreferencePanes/My*
  6. 编辑文件 /etc/hostconfig,删掉这一行:MYSQLCOM=-YES-
  7. rm -rf ~/Library/PreferencePanes/My*
  8. sudo rm -rf /Library/Receipts/mysql*
  9. sudo rm -rf /Library/Receipts/MySQL*

安装 ruby mysql

关键是要指定 x86_64

sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- \
  --with-mysql-dir=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib \
  --with-mysql-include=/usr/local/mysql/include

测试

启动 MySQL Server,用 irb 测试连接(使用你正确的用户名、密码),如果一切正常输出差不多是这样子:

$ irb
>> require 'mysql'
=> true
>> Mysql.new('localhost', 'username', 'password', 'database')
=> #<Mysql:0x101498390>

如果在创建连接的时候出现如下的错误:

>> Mysql.new('localhost', 'webslave', 'webslave', 'qingbonet')
ArgumentError: wrong number of arguments (4 for 0)
     from (irb):4:in `initialize'
     from (irb):4:in `new'
     from (irb):4

那么很有可能你安装了 32bit 的 MySQL,请严格按照本文所述过程重新安装……

注: 如果是 Mac OS X 10.5 Leopard 系统,应该安装 32bit 的 MySQL, 并且在 gem install mysql 的命令前面指定 -arch i386