Just ran into same problem, here is the fix:

require 'rubygems'
gem 'dbi'
require 'dbi'		# => Now the gems version gets loaded.

There is another dbi.rb that acts different than the one from gems:

/usr/lib/ruby/1.8/dbi.rb vs. /usr/lib/ruby/gems/1.8/gems/dbi-0.4.0/lib/dbi.rb


On Sunday 17 August 2008 05:09:54 Chris Williams wrote:
> Hi,
>
> When I try to run a script that requires "dbi" I get the following
> error:
>
> /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:352:in `load_driver': Unable to
> load driver 'Mysql' (DBI::InterfaceError)
>   from /usr/local/lib/ruby/1.8/monitor.rb:242:in `synchronize'
>   from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:282:in `load_driver'
>   from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:233:in
> `_get_full_driver'
>   from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:219:in `connect'
>
> The Mysql server is working fine and my Rails apps can even access it.
>
> The script itself has previously worked on other installations.
>
> I do have gem mysql-2.7 installed.
>
> ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]
>
>
> Any help tracking the source of this problem down would be greatly
> appreciated.