Installing MySQL gem on Windows & cygwin for Rails

This post assumes that you've followed the Setting up Rails on Windows with Cygwin guide and are using Cygwin on Windows for your Rails development.

If you're upgrading to Rails 2.2 (or running on edge), you'll need to build the mysql gem from source, as it's being removed from the Rails pacakge. You'll know if you need to do this if you get the following error when building your app:

!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.

Installing Mysql from Source

First thing you'll need to do is to download the source files from MySQL.

The next steps are all from the command line (and will probably take a while to complete!):

tar xzvf mysql-5.0.67.tar.gz
cd mysql-5.0.57
make install

UPDATE: As those who've commented here have noted, a common error you may come across while running make is:

readline/readline.h:70:29: sys/ttydefaults.h: No such file or directory

The easiest way to solve this issue is to download the readline packages from cygwin (using the cygwin installer) and running

./configure --without-readline CFLAGS=-O2

Instead of plain ./configure

Also note, if you've already run ./configure you'll need to clean up the directory by running

make distclean

This will actually install the entire MySQL library, but we won't be using it. We just needed the library files to build the gem with. Once MySQL is built, you just need to install the gem, and you're good to go:

gem install mysql Don't forget to tell MySQL which configuration we want to load. By default, it'll try to use a local socket, but we want it to use the server we installed in Windows (outside of cygwin). Check out the Getting Cygwin/Rails to work with MySQL section of our previous guide.

blog comments powered by Disqus