こんにちは。吉岡です。
先日、AWS Summit Japan 2025 に参加して、そこで気になるサービスを見つけたので、その中から今日はTiDBについて書きたいと思います。
社内タスク管理やプロジェクト管理でよく使われるRedmine。今回はMySQL互換の分散型クラウドデータベース TiDB を利用し、Redmine互換のOSS「RedMica」を実際に動かす検証を行いました。
セットアップ手順・ポイントを中心にまとめましたので、クラウド型MySQL互換DBの検証事例としてご参考ください。
数年前、某エバンジェリストだった方にRDSのスケールで悩んでいると話をしたところ、TiDBを勧められたのがきっかけです。また、AWS Summit Japan 2025 の展示ブースでも実際に担当の方が非常に丁寧に製品の説明をしてくださり、「ぜひ使ってみたい」と思えるきっかけとなりました。もちろん前からTiDB自体には興味がありましたが、実際に説明を聞く機会(コミュニケーション)が試すきっかけになったことは間違いありません!
まずはTiDB Cloudのアカウントを作成し、新規にクラスタを作成します。
TiDB Cloudにアクセスし、「無料で始める」からアカウントを登録してください。
クラスタ作成後、Redmica用のデータベース(例:redmica_sample
)を作成します。SQL Editor から以下のコマンドを入力し、実行します。
CREATE DATABASE IF NOT EXISTS `redmica_sample`;
作成後は「Overview」の右上にある。「connect」から 接続情報(ホスト名、ユーザー名、パスワード、ポート番号など) を必ず控えておきましょう。(最初にpassword作成が必要です。)
一部のMySQL特有SQLやプラグインが動作しない可能性があります。詳細は公式ドキュメントの「MySQL Compatibility」ページを参照するのがおすすめです。
MySQL Compatibility | TiDB Documentation
RedMicaが依存するmysql2 gemをインストールするため、必要なパッケージをHomebrewで導入します。
brew install mysql@8.4
GitHubからRedMicaを取得し、作業ディレクトリへ移動します。
git clone git@github.com:redmica/redmica.git redmica-tidb
cd redmica-tidb
mysql2 gemのビルドのため、環境変数を追加してからbundle install
を実行します。
brew install zstd
export LIBRARY_PATH=$LIBRARY_PATH:$(brew --prefix zstd)/lib/
bundle install
macOS環境では、zstdやmysql@8.4などHomebrew経由のパッケージ不足でエラーが出ることがあります。
例:ld: library not found for -lzstd
対策として brew install zstd
で事前にインストールし、LIBRARY_PATH
環境変数をセットしてください。
echo "RedmineApp::Application.config.secret_key_base = `bin/rails secret`" > config/initializers/secret_token.rb
サンプル設定ファイルをコピーし、TiDBの接続情報を記載します。
cp config/database.yml.example config/database.yml
config/database.yml
の production
セクションを下記のように編集します。
production:
adapter: mysql2
database: redmica_sample
host: *********.tidbcloud.com
username: ***********.root
password: "***********"
encoding: utf8mb4
port: 4000
variables:
transaction_isolation: "READ-COMMITTED"
※各種接続情報はTiDBクラスタ作成時に控えた内容を設定してください。
※transaction_isolation
は READ-COMMITTED
推奨(TiDB公式ドキュメント参照)
RAILS_ENV=production bin/rails db:migrate
RAILS_ENV=production bin/rails redmine:load_default_data
RAILS_ENV=production rails s
ブラウザで http://localhost:3000 にアクセスし、RedMicaの画面が表示されればセットアップ完了です!
今回の検証で、クラウド型MySQL互換DBであるTiDB上でもRedMicaが問題なく動作することを確認できました。今後も新しいインフラやミドルウェアの検証を進めていきます!
![]() |
AWS Summitに今年も参加しました。今年は前後左右どこを見ても「生成AI」でした。 |
![]() |
台湾へ社員旅行に行きました。COMPUTEX TAIPEI視察や台北観光を楽しみました。 |
![]() |
My Redmineのストレージ使用容量はスクリプトを定期的に実行して確認しています。 |
![]() |
RedmineのシステムテストをGithub CIで実行するようにしました。 |
![]() |
OSC2025名古屋でブース出展とセミナーを実施。多くの来場者と交流できました |
![]() |
夏季休業のお知らせ (8/13〜15休業) 2025/8/13(水)〜8/15(金)は夏季休業とさせていただきます。 |
![]() |
JANOG56ミーティング(7/30〜8/1開催)にRubyスポンサーとして協賛・ブース出展 JANOG56ミーティング(7/30〜8/1開催)にRubyスポンサーとして協賛、ブースを出展します。 |
![]() |
Redmine Japan Vol.4(7/25開催)に弊社代表の前田が招待講演として登壇 オープンソースのプロジェクト管理ソフトウェア Redmine のイベント「Redmine Japan Vol.4」に弊社代表でRedmineコミッターの前田剛が招待公演に登壇します。 |
![]() |
RedMica 3.2 バージョンアップのお知らせ My Redmineで提供しているソフトウェアをRedMica(ファーエンドテクノロジー版Redmine) 3.1 から 3.2 へバージョンアップいたします。 |
![]() |
Redmineの最新情報をメールでお知らせする「Redmine News」配信中 新バージョンやセキュリティ修正のリリース情報、そのほか最新情報を迅速にお届け |