[2009-10-08-1] はデータベースに sqlite3 を使用する方法ですが、書き
込みが行われている時はデータベース全体がロックされるなどパフォーマ
ンスに問題があるそうです。そこで、MySQL を使う方法も試してみました。

前回に補足する形で説明していきます。

基本的な構築手順

1. に加え、mysql-server もインストールしてください。

さらに、MySQL のデータベースも作成します。

% mysql -u root -p

文字コードに utf8 を指定したデータベース redmine を作成

mysql> create database redmine character set utf8;

データベース redmine のユーザ redmine を作成し、パスワードに XXXXXXXX を設定。

mysql> grant all privileges on redmine.* to redmine@localhost identified by ‘XXXXXXXX’;

mysql> exit;

3-1. の database.yml は以下の修正に置き換えます。

--- config/database.yml.example	2009-09-13 21:10:16.000000000 +0900
+++ config/database.yml	2009-10-10 23:14:31.000000000 +0900
@@ -10,9 +10,10 @@
   adapter: mysql
   database: redmine
   host: localhost
-  username: root
-  password:
+  username: redmine
+  password: XXXXXXXX
   encoding: utf8
+  socket: /var/run/mysqld/mysqld.sock

 development:
   adapter: mysql

socket の場所は以下のコマンドで調べられます。

% mysqladmin -u root -p variable | grep socket

設定の差分はこんなところです。

注意点として sqlite3 の時はデータベースが redmine-0.8.5/db に作られ
ましたが、MySQL の時は /var/lib/mysql 等に作られます。バックアップ
を取り忘れないようにしてください。

データベースのディレクトリは以下のコマンドで調べられます。

% mysqladmin -u root -p variable | grep datadir

MySQL の主要なコマンドや、バックアップの取り方は [2009-10-10-2]
まとめました。