Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

106 lines (70 sloc) 3.247 kB



A MySQL driver for DataObjects.


This driver implements the DataObjects API for the MySQL relational database.


An example of usage:

# default user (root, no password); default port (3306)"mysql://host/database")
# specified user, specified port"mysql://user:pass@host:8888/database")

@connection ="mysql://localhost/employees")
@reader = @connection.create_command('SELECT * FROM users').execute_reader!

In the future, the Connection constructor will be able to be passed either a DataObjects-style URL or JDBC style URL, when using do_mysql on JRuby. However, this feature is not currently working reliably and is a known issue.


This driver is provided for the following platforms:

  • Ruby MRI (1.8.6/7), 1.9: tested on Linux, Mac OS X and Windows platforms.
  • JRuby 1.3.1 + (1.4+ recommended).
  • Rubinius (experimental).

Additionally you should have the following prerequisites:

  • data_objects gem
  • do_jdbc gem (shared library), if running on JRuby.


To install the gem:

gem install do_mysql

If installing the MRI/1.9/Rubinius extension on OS X and you install a version of MySQL that was built for only a single architecture, you will need to set ARCHFLAGS appropriately:

sudo env ARCHFLAGS="-arch i386" gem install do_mysql

To compile and install from source:

  • Install rake-compiler: gem install rake-compiler.

  • For MRI/Rubinius extensions:

    • Install the gcc compiler. On OS X, you should install XCode tools. On Ubuntu, run apt-get install build-essential.
    • Install Ruby and MySQL.
    • Install the Ruby and MySQL development headers.
      • On Debian-Linux distributions, you can install the following packages with apt: ruby-dev libmysqlclient15-dev.
    • If you want to cross-compile for Windows:

      • Install MinGW:
        • On Debian-Linux distributions, you can install the following package with apt: mingw32.
        • On OS X, this can install the following package with MacPorts: i386-mingw32-gcc.
      • Run rake-compiler cross-ruby.
      • Run rake-compiler update-config.
    • Then, install this driver with (jruby -S) rake install.

For more information, see the MySQL driver wiki page:


Follow the above installation instructions. Additionally, you'll need:

  • bacon gem for running specs.
  • YARD gem for generating documentation.

See the DataObjects wiki for more comprehensive information on installing and contributing to the JRuby-variant of this driver:

To run specs:

rake spec

To run specs without compiling extensions first:

rake spec_no_compile

To run individual specs:

rake spec TEST=spec/connection_spec.rb

(Note that the rake task uses a TEST parameter, not SPEC. This is because the Rake::TestTask is used for executing the Bacon specs).


This code is licensed under an MIT (X11) License. Please see the accompanying LICENSE file.

Jump to Line
Something went wrong with that request. Please try again.