インストール
どの方法を選ぶべきか
RHEL/AlmaLinux/Rocky LinuxではRPM、UbuntuではDEB、動作確認やコンテナ基盤ではDockerを使うのが基本です。ソースビルドは開発や独自ビルドが必要な場合に選んでください。
RPMパッケージ(推奨)
RHEL、AlmaLinux、Rocky Linux 9/10向け。GitHub Releasesからダウンロード:
bash
# EL9 (RHEL/AlmaLinux/Rocky Linux 9)
sudo rpm -i mygramdb-*.el9.x86_64.rpm
# EL10 (RHEL/AlmaLinux/Rocky Linux 10)
sudo rpm -i mygramdb-*.el10.x86_64.rpmインストールされるファイル:
/usr/bin/mygramdb- サーバーバイナリ/usr/bin/mygram-cli- CLIクライアント/etc/mygramdb/config.yaml- サンプル設定- systemdサービスファイル
サービスを開始:
bash
sudo systemctl enable --now mygramdbDocker
bash
docker pull ghcr.io/libraz/mygram-db:latest
docker run -d \
-p 11016:11016 \
-p 8080:8080 \
-v /path/to/config.yaml:/etc/mygramdb/config.yaml:ro \
ghcr.io/libraz/mygram-db:latest利用可能なタグ:
ghcr.io/libraz/mygram-db:1.7.0ghcr.io/libraz/mygram-db:latest
linux/amd64とlinux/arm64の両方をサポート。
設定ファイルを用意してから起動
Dockerで本番運用する場合は、MySQL接続情報、レプリケーション設定、対象テーブル、network.allow_cidrs を含む設定ファイルを用意してマウントしてください。単にイメージを起動しただけでは、既存データの初期同期は完了しません。
DEBパッケージ
Ubuntu 22.04 (Jammy) および 24.04 (Noble) 向け:
bash
# x86_64
sudo dpkg -i mygramdb_*_amd64.deb
# ARM64
sudo dpkg -i mygramdb_*_arm64.debサービスを開始:
bash
sudo systemctl enable --now mygramdbソースからビルド
必要なパッケージ
RHEL/AlmaLinux/Rocky Linux:
bash
sudo dnf install -y gcc-c++ cmake mysql-devel libicu-develUbuntu/Debian:
bash
sudo apt-get update
sudo apt-get install -y pkg-config libmysqlclient-dev libicu-dev cmake g++macOS:
bash
brew install cmake mysql-client@8.4 icu4c pkg-configビルド
bash
git clone https://github.com/libraz/mygram-db.git
cd mygram-db
makeシステムへのインストール
bash
sudo make installサービスとして実行
ソースからビルドした場合(RPMにはサービスが含まれています):
ユーザー作成
bash
sudo useradd -r -s /bin/false mygramdbディレクトリ設定
bash
sudo mkdir -p /etc/mygramdb /var/lib/mygramdb/dumps
sudo chown -R mygramdb:mygramdb /var/lib/mygramdbsystemdサービスのインストール
bash
sudo cp support/systemd/mygramdb.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now mygramdbステータス確認
bash
sudo systemctl status mygramdb
sudo journalctl -u mygramdb -fインストール確認
bash
mygramdb --help
mygram-cli --helpインストール後に必要な作業
パッケージやDockerイメージを入れただけでは、検索対象のデータは読み込まれません。MySQL接続、対象テーブル、ネットワーク許可範囲を設定したあと、初回は SYNC <table> を実行して既存データからインデックスを作成してください。
セキュリティ
rootでは実行しない
MygramDBはセキュリティのためroot権限での実行を拒否します。常に専用の非特権ユーザーで実行してください。