Amazon Lightsailで構築したRedmineはデフォルトではインスタンス内に入っているMySQLを使用しています。
これを、Amazon Lightsailで別に構築したMySQLを使わせてみようと言うのが今回の趣旨です。
大まかな流れとしては以下のようになります。
- Redmine側DBのダンプを取得
- 新しく立てたDBにスキーマを作成してリストア
- Redmineの設定ファイルを編集し、新しく立てたDBを使うようにする
1. Redmine側DBのダンプを取得
Lightsailで立てたインスタンスにsshで入ったらまず、mysqlのrootユーザーのパスワードを確認します。
rootのパスワードは~/bitnami_application_password
に書かれています。
また、このパスワードはRedmineの管理者ユーザーのパスワードにもなっています。 (ログインIDはuser)
パスワードを確認できたら以下のコマンドを実行します。
bitnami_redmine_dump.sqlという名前でダンプファイルが作成されます。
mysqldump -u root -p bitnami_redmine > bitnami_redmine_dump.sql
このタイミングで何か適当なプロジェクトでも作っておくとRedmineのDBを切り替えた時に確認しやすいかもしれません。
切り替えが上手くいけばこのプロジェクトは表示されなくなるはずですから。
前
後 (新しいDBには"前"の時点でのダンプを使うので、切り替えが上手くいけばPJ_2は表示されなくなるはず)
2. 新しく立てたDBにスキーマを作成してリストア
新しく立てた方のmysqlにログイン
mysql -u dbmasteruser -p -h (エンドポイント)
(ユーザー名、パスワード、ホスト(エンドポイント)はコンソールから確認できます。)
ダンプのリストア先となるスキーマを作る
create database bitnami_redmine
mysqlからログアウト
exit
作ったスキーマにダンプをリストア
mysql -u dbmasteruser -p -h (エンドポイント) bitnami_redmine < bitnami_redmine_dump.sql
テーブルを確認するとPJ_1のレコードを確認できる。
mysql> select id, name from bitnami_redmine.projects;
+----+------+
| id | name |
+----+------+
| 1 | PJ_1 |
+----+------+
1 row in set (0.00 sec)
3. Redmineの設定ファイルを編集し、新しく立てたDBを使うようにする
このファイルは/home/bitnami/apps/redmine/htdocs/config/database.yml
にあります。
production:
adapter: mysql2
database: bitnami_redmine
host: localhost
username: bitnami
password: xxxxxxxxxx
encoding: utf8
socket: /opt/bitnami/mysql/tmp/mysql.sock
production の database, host, username, password をそれぞれ新しく立てたDBに合わせて書き換えます。
書き換え終わったら保存してRedmineのインスタンスを再起動しましょう。