Ruby Forum Ruby on Rails > mysql.rb driver has been removed from Rails 2.2 ?

Posted by Jose Fernandez (jfernandez)
on 22.07.2008 07:44
Out of nowhere I'm starting to get this error message when trying to
access the DB (currently at rails edge):

jose@macbook [~/Development/clients/sequoyah] $ rake db:create
(in /Users/jose/Development/clients/sequoyah)
!!! 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!
Failed to lookup Init function
/usr/local/lib/ruby/site_ruby/1.8/i686-darwin9.3.0/mysql.bundle

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

I've already re-installed the mysql gem a million times (uninstall and
reinstall) and I still get this, any ideas?
Posted by Justin Halsall (juice10)
on 14.08.2008 10:58
I have the same problem when running script/server:
JuicyBook:trunk justin$ script/server
=> Booting Mongrel (use 'script/server webrick' to force WEBrick)
=> Rails 2.1.0 application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
** Starting Mongrel listening at 0.0.0.0:3000
** Starting Rails with development environment...
Failed to lookup Init function 
/usr/local/lib/ruby/gems/1.8/gems/mysql-2.7/lib/mysql.bundle
/usr/local/lib/ruby/gems/1.8/gems/mysql-2.7/lib/mysql.bundle
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in 
`require'
...

The only way I can get around this is to add the old mysql.rb file to 
your RAILS_ROOT/lib folder (the one that was removed from edge rails).

This really bugs me though because I have to do this for every checkout, 
every branch and I need to remember to not commit it.

If anyone has a real solution it would be very helpful!

Jose Fernandez wrote:
> Out of nowhere I'm starting to get this error message when trying to
> access the DB (currently at rails edge):
> 
> jose@macbook [~/Development/clients/sequoyah] $ rake db:create
> (in /Users/jose/Development/clients/sequoyah)
> !!! 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!
> Failed to lookup Init function
> /usr/local/lib/ruby/site_ruby/1.8/i686-darwin9.3.0/mysql.bundle
> 
> (See full trace by running task with --trace)
> 
> I've already re-installed the mysql gem a million times (uninstall and
> reinstall) and I still get this, any ideas?
Posted by Justin Halsall (juice10)
on 14.08.2008 11:04
And you also need to edit the mysql_adapter.rb file line 63
change the line into:
          require RAILS_ROOT + "/lib/mysql.rb"

Justin Halsall wrote:
> The only way I can get around this is to add the old mysql.rb file to 
> your RAILS_ROOT/lib folder (the one that was removed from edge rails).
Posted by Weng Edgar (edgarw)
on 26.11.2008 14:32
you can go to  http://www.tmtm.org/en/ruby/mysql/ to download the tar 
file, and run the command below

# ruby ./install.rb

to install the mysql.rb
Posted by JoeMSak (Guest)
on 26.11.2008 18:25
(Received via mailing list)
This worked for me.

Thanks.


On Nov 26, 8:32 am, Weng Edgar <rails-mailing-l...@andreas-s.net>
Posted by Shawn Cheatham (shawnc)
on 11.12.2008 02:27
Weng Edgar wrote:
> you can go to  http://www.tmtm.org/en/ruby/mysql/ to download the tar 
> file, and run the command below
> 
> # ruby ./install.rb
> 
> to install the mysql.rb

Just learning so hang with me. I downloaded, unzipped and in terminal 
ran # ruby ./install.rb which returned a new command line. Is there a 
specific location the folder should sit in before the install command is 
entered or a directory I should be in first?

Thanks in advance
Posted by Brian Hogan (Guest)
on 11.12.2008 14:15
(Received via mailing list)
You get around this by actually installing the MySQL gem with C
bindings. The one you guys are talking about is the pure Ruby one.

 The pure-MySQL library is terrible for performance and can cause some
seriously flaky stuff. There are a number of posts on tis list that
discuss the installation of that library.

If you're getting the error relating to

/usr/local/lib/ruby/gems/1.8/gems/mysql-2.7/lib/mysql.bundle

then you have a half-installed mysql driver and I bet you're on a Mac.

The solution that worked for me was to do this:

http://www.napcsweb.com/blog/2007/06/01/mysql-gem-on-osx/

I hope that helps!

On Wed, Dec 10, 2008 at 7:27 PM, Shawn Cheatham
Posted by Shawn Cheatham (shawnc)
on 12.12.2008 00:48
Thanks for the help - after a bit of onsite help I was able to complete 
the install. Still some quirks to be worked out but that's the 
point...to tinker.

Thanks again

Brian Hogan wrote:
> You get around this by actually installing the MySQL gem with C
> bindings. The one you guys are talking about is the pure Ruby one.
> 
>  The pure-MySQL library is terrible for performance and can cause some
> seriously flaky stuff. There are a number of posts on tis list that
> discuss the installation of that library.
> 
> If you're getting the error relating to
> 
> /usr/local/lib/ruby/gems/1.8/gems/mysql-2.7/lib/mysql.bundle
> 
> then you have a half-installed mysql driver and I bet you're on a Mac.
> 
> The solution that worked for me was to do this:
> 
> http://www.napcsweb.com/blog/2007/06/01/mysql-gem-on-osx/
> 
> I hope that helps!
> 
> On Wed, Dec 10, 2008 at 7:27 PM, Shawn Cheatham
Posted by Hans Marmolin (marmolin)
on 22.01.2009 18:09
(Received via mailing list)
I have installed rails 2.2.2 (had 2.0.1) and the mysql performance is
very bad compared to earlier
I takes me 10 minutes to load data into a mysql database. With 2.0.1
it took less than 4 minutes
The amount of save and creating operations is indicated of that the
log file is about 2.7 MB
I have tried to install mysql gem as proposed.

I first uninstalled mysql by
sudo gem uninstall mysql
I then installed it again with
 sudo env ARCHFLAGS="-arch i386" gem install mysql --   --with-mysql-
dir=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib   --with-
mysql-include=/usr/local/mysql/include

but there is now change in performance
I have Mysql 5.051, gem 1.3.1 ruby 1.8.6 rails 2.2.2

Appriciate any helps!!!!!

On 12 Dec 2008, 00:48, Shawn Cheatham <rails-mailing-l...@andreas-
Posted by Nate Leavitt (nateleavitt)
on 22.01.2009 20:59
This way has worked everytime for me.  Make sure the path is correct in 
your environment.

sudo gem install mysql -- 
--with-mysql-config=/usr/local/mysql/bin/mysql_config
Posted by Jules (Guest)
on 18.04.2009 01:30
(Received via mailing list)
Jumpin Jahoosefats Nate... this worked! Thanks very much!

On Jan 22, 3:59 pm, Nate Leavitt <rails-mailing-l...@andreas-s.net>
Posted by Marcos Ramos (Guest)
on 20.04.2009 22:33
(Received via mailing list)
Hi there Nate,

That solution didn't work for me with rails 2.3.2
I get - invalid option for --with-mysql-config...

On Jan 22, 8:59 pm, Nate Leavitt <rails-mailing-l...@andreas-s.net>