This User Tip describes how to download, install, and setup MySQL for use on OS X. It includes an optional section for Perl support. Please read through the entire User Tip before starting.
- Basic understanding of Terminal.app and how to run command-line programs.
- Basic usage of vi. You can substitute nano if you want.
- Xcode (with command line tools) is required for the MySQL Perl driver.
Lines in bold are what you will have to type in at the Terminal.
Replace <your local host> with the name of your machine. Ideally, it should be a one-word name with no spaces or punctuation. It just makes life easier.
Replace <your short user name> with your short user name.
Download MySQL from a local mirror. You want the Mac OS X ver. 10.6 (x86, 64-bit), DMG Archive. At the time of writing this User Tip, the current version is 5.5.34. By the time you read this, there may be a newer version to use instead. Open the archive mysql-5.5.34-osx10.6-x86_64.dmg.
Install only the mysql-5.5.34-osx10.6-x86_64.pkg package. Ignore everything else.
MySQL comes with a Preference Pane and Startup Item that are based on technologies that Apple deprecated years ago. If you install the Preference Pane or Startup Item, your MySQL installation could fail at some point in the future when Apple removes support for Startup Items. This was reported to MySQL a long time ago. Until MySQL gets around to fixing this bug, we will have to do it ourselves.
Create a launchd config file for MySQL:
sudo vi /Library/LaunchDaemons/com.mysql.mysql.plist
Use the following content:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
(if you are new to vi, type 'i' to enter insert mode. Then ⌘-v to paste the above content. Press escape to get back to command mode. Then type 'ZZ' to save and exit.)
The default path for the MySQL socket is not appropriate for MacOS X. Until it is changed, MySQL will not be able to communicate with PHP should you choose to enable that. Let's fix this now.
Create a config file for MySQL that matches the Apple PHP build:
sudo vi /etc/my.cnf
Use the following content:
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist
MySQL is now up and running. Don't forget to set a root password and configure your users if this is all you need.
If you need to configure Perl support for MySQL, don't setup a root password just yet. Having no password will make testing the Perl module easier. Keep reading...
You will need Xcode and command line tools for this part.
Extract the archive with:
tar zxvf DBD-mysql-4.020.tar.gz
Move into the directory:
First, fix the MySQL client library. (credit)
For Lion, type:
sudo install_name_tool -id /usr/local/mysql-5.5.34-osx10.6-x86_64/lib/libmysqlclient.18.dylib /usr/local/mysql-5.5.34-osx10.6-x86_64/lib/libmysqlclient.18.dylib
Next, build DBD::mysql with:
perl Makefile.PL --mysql_config=/usr/local/mysql/bin/mysql_config --testsocket=/var/mysql/mysql.sock --testuser=root
sudo make install
Now you can set a root password and configure your users.