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 ./configure make 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
Also note, if you've already run
./configure you'll need to clean up the directory by running
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.