# do_mysql * ## Description A MySQL driver for DataObjects. ## Features/Problems This driver implements the DataObjects API for the MySQL relational database. ## Synopsis An example of usage: # default user (root, no password); default port (3306) DataObjects::Connection.new("mysql://host/database") # specified user, specified port DataObjects::Connection.new("mysql://user:pass@host:8888/database") @connection = DataObjects::Connection.new("mysql://localhost/employees") @reader = @connection.create_command('SELECT * FROM users').execute_reader @reader.next! 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. ## Requirements 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. ## Install 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: . ## Developers 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). ## License This code is licensed under an **MIT (X11) License**. Please see the accompanying `LICENSE` file.