Amazon Lightsail로 구축한 Redmine에 별도로 세운 DB를 사용하게 한다

Amazon Lightsail로 빌드한 Redmine은 기본적으로 인스턴스 내에 있는 MySQL을 사용합니다.
이것을, Amazon Lightsail로 따로 구축한 MySQL을 사용시켜 보자고 하는 것이 이번의 취지입니다.

거친 흐름으로서는 다음과 같이 됩니다.
1. Redmine측 DB의 덤프를 취득
2. 새로 세운 DB에 스키마를 작성하고 복원
3. Redmine 구성 파일을 편집하고 새로 세운 DB를 사용하도록 합니다.

1. Redmine측 DB의 덤프를 취득



Lightsail로 만든 인스턴스에 ssh로 들어가면 먼저 mysql 루트 사용자의 암호를 확인합니다.
루트 암호는 ~/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 인스턴스를 다시 시작합니다.

프로젝트 목록을 살펴보면 PJ_2가 표시되지 않으므로 이것으로 성공적으로 전환 할 수 있다는 것을 알았습니다.

좋은 웹페이지 즐겨찾기