問題

在 Windows 環境上使用 mysql2 的gem,啟動網站時出現以下錯誤

1
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11/lib/mysql2.rb:9:in `require': Incorrect MySQL client library version! This gem was compiled for 6.0.0 but the client library is 5.0.51a. (RuntimeError)

原因

如錯誤訊息所說,mysql2 使用的 client 是 mysql-connector-c-6 的版本,而電腦上安裝的版本不符

解決方案

下載所需的client版本

http://dev.mysql.com/downloads/connector/c/

選擇 mysql-connector-c-noinstall-6.x.x-win32.zip 的版本,例如

1
mysql-connector-c-noinstall-6.0.2-win32.zip

解壓縮後將lib\libmysql.dll複製到ruby的bin之下,例如

1
C:\mysql-connector-c-noinstall-6.0.2-win32\lib\libmysql.dll

複製到

1
C:\RailsInstaller\Ruby1.9.3\bin