When first running Rails & Mysql, you might see thing like this in the log files.
WARNING: You're using the Ruby-based MySQL library that ships with Rails. This library is not suited for production. Please install the C-based MySQL library instead (gem install mysql).
*
You may think.. hello... I have installed the mysql gem via 'gem install mysql'. Indeed you may have, however this WARNING message means that rails is unable to load the required libraries.
To see what is going on, fire up the console & run the following commands.
require 'rubygems'
require 'mysql'
You may see something like this.
ruby script/console
>>require 'rubygems'
[]
>>require 'mysql'
LoadError: libmysqlclient.so.15: cannot open shared object file: No such file or directory - /usr/local/lib/ruby/gems/1.8/gems/mysql-2.7/lib/mysql.so
from /usr/local/lib/ruby/gems/1.8/gems/mysql-2.7/lib/mysql.so
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
from ../../activesupport/lib/active_support/dependencies.rb:496:in `require'
from ../../activesupport/lib/active_support/dependencies.rb:342:in `new_constants_in'
from ../../activesupport/lib/active_support/dependencies.rb:496:in `require'
from (irb):3
So, Rails can see the libraries, but cannot load them.
Here is how I resolved the problem.
1. Uninstall the mysql gem - 'gem uninstall mysql'
2. Reinstall mysql like so.. 'gem install mysql -- --with-mysql-lib=/usr/lib/mysql'
3. Restarted mongrel & all was good.
Thanks Ezra for your many posts.

Trackback URL