Configuring the Sakai CLE to use MySQL is an excellent option both for local development and production purposes.
Sakai requires transaction support. In the case of MySQL you must implement the InnoDB
storage engine to ensure proper transaction handling.
Users upgrading from MySQL 5.0 to MySQL 5.1 on a Mac have reported name comparison problems on startup (for more info see http://collab.sakaiproject.org/pipermail/sakai-dev/2010-June/008066.html. This issue is solved by specifying the following property in a local my.cnf configuration file:
lower_case_table_names=1
You will not need to create Sakai database objects (tables, indices, etc) when setting up your database. Sakai generates its own database schema automatically during the Tomcat setup process via the autoDDL
setting in sakai.properties
.
Case sensitivity. In most varieties of UNIX, MySQL is case sensitive since the underlying operating system determines the case sensitivity of database and table names. This is not the case for MySQL running in Windows which is case insensitive. Previous MySQL conversion scripts contained a mixture of upper case and lower case statements which occasionally caused problems for upgraders; for 2.8 we opted for lower case for the syntax while leaving the table and field names upper case. Testing on MySQL 5.1 did not reveal any issues with this choice.
Before installing MySQL, confirm whether or not it is already installed on your system by checking the version from the command line:
mysql --version mysql Ver 14.14 Distrib 5.1.52, for apple-darwin10.3.0 (i386) using readline 5.1
If MySQL is not installed download MySQL 5.1/5.5 binaries or source from http://dev.mysql.com/downloads/. Linux users should install MySQL using a package or binaries if possible. Choose the standard configuration. Windows users should consider installing MySQL as a service. Remember to include MySQL's /bin directory in your PATH statement.
MySQL 5.5: http://dev.mysql.com/downlads/mysql/5.5.html
MySQL 5.1: http://dev.mysql.com/downloads/mysql/5.1.html
Assign a password for the root account:
mysql -u root -pmysqlpassword