ユーザマニュアル


7月23日ハンズオンセミナー@中野開催! プリなま#25公開! ITreviewレビュー投稿キャンペーン レビュー投稿・公開でamazonギフトカード2000円分プレゼント! 年間サポートサービス-項目拡張-

2025/07/08

MANUAL

WebサーバとDBサーバを分離した構成でMySQLを利用できるように設定する(Ver.1.4.18.0以降)

## 概要 プリザンターのDBにMySQLを使用する際、プリザンターの配備先と異なるサーバにDBを構築する場合の手順です。本手順が必要となる背景は「[FAQ:MySQLでWebサーバとDBサーバを分離した構成にしたい](faq-mysql-multiple-server)」の説明を参照ください。 ## 制限事項 1. SQL ServerおよびPostgreSQLでは本手順は実施不要です。 2. Ver.1.4.17.1以前の手順は「[WebサーバとDBサーバを分離した構成でMySQLを利用できるように設定する(Ver.1.4.17.1以前)](mysql-create-user-by-sql)」を参照してください。 ## 本手順の構成 本手順では、プリザンターを現在運用してしていない環境で新規にセットアップする場合、および、既にプリザンターを運用している環境でプリザンターとDBのサーバを分離する場合の各手順を掲載しています。 1. プリザンターを現在運用してしていない環境で新規にセットアップする場合 本手順の「1. 新規環境構築手順」を参照してください。 2. 既にプリザンターを運用している環境でプリザンターとDBのサーバを分離する場合 本手順の「2. 既存DBの分離手順」を参照してください。 ## 1. 新規環境構築手順 ### 新規環境構築 - 準備 1. プリザンターおよびMySQLのサーバの設定(サーバ名やIPアドレス等)をあらかじめ決めてください。 ### 新規環境構築 - 手順 新規にプリザンターの環境を構築する際、SQLでDBユーザアカウントを追加する手順は以下の通りです。 1. 新規セットアップのマニュアルの手順を初めから順番に実施し、データベースサーバ上で「MySQLのセットアップ」までおこないます。 ・[インストーラでセットアップする手順](https://pleasanter.org/ja/manual?category=0091) ・[手動でセットアップする手順](https://pleasanter.org/ja/manual?category=0092) 2. SQLを実行するため、MySQLのサーバ上でMySQLにログインします。 ・MySQLにログインするコマンド Linuxの場合は以下コマンドでMySQLにログインします。 Windowsの場合はAzure Data Studio等のGUIツールを使用してMySQLにログインします。また、Pathを通して「mysql」コマンドを実行できるように設定している場合は、以下コマンドでMySQLにログインすることも可能です。 ```text mysql -u root -p ``` 3. [Rds.json](/ja/manual/rds-json)の"SaConnectionString"のユーザとして指定する「MySQLの管理ユーザアカウント@<接続元>」アカウントがMySQL上に存在するか確認します。 確認用コマンドの結果、user:root、host:% など外部から接続可能なアカウントが存在する場合は、手順1.4は実施不要のため、手順1.5に進んでください。 確認用コマンドは以下の通りです。 ```text SELECT user, host FROM mysql.user; ``` **<接続元>について** |条件|設定値| |:--|:--| |以下の要件が特段ない場合|%| |指定の外部のホストのみMySQLへアクセスを許可する場合|接続を許可するホスト名/IPアドレス。複数の接続元を許可している場合は複数レコードが取得される。| 4. 「MySQLの管理ユーザアカウント@<接続元>」アカウントがMySQL上に存在しない場合は、アカウントを追加します。 ```text create user 'root'@'<接続元>' identified by '<MySQLのrootアカウントのパスワード文字列>'; grant all on *.* to 'root'@'<接続元>' with grant option; ``` **接続を許可するホストを複数指定する場合** <details> <summary>(こちらをクリックすると詳細が開閉します) </summary> SQL文は許可する全接続元について実行します。以下は実行SQLの例です。 ```text create user 'root'@'192.168.1.100' identified by 'password'; grant all on *.* to 'root'@'192.168.1.100' with grant option; create user 'root'@'192.168.1.200' identified by 'password'; grant all on *.* to 'root'@'192.168.1.200' with grant option; ``` </details> 5. データベースサーバのファイアウォールの設定を変更し、MySQLのサービスに対する外部からの接続を許可します。 6. マニュアルの手順通りにセットアップを最後まで進めます。 インストーラまたは手動で設定する[Rds.json](/ja/manual/rds-json)の3箇所のデータベース接続文字列について("SaConnectionString"、"OwnerConnectionString"、"UserConnectionString")、Serverにデータベースサーバを指定してください。 7. インストーラまたは手動で設定する[Rds.json](/ja/manual/rds-json)の"MySqlConnectingHost"について以下の通りに指定してください。 |条件|設定値| |:--|:--| |以下の要件が特段ない場合(既定値)|%| |指定の外部のホストのみMySQLへアクセスを許可する場合|接続を許可するホスト名/IPアドレス。半角カンマ区切りで複数指定可(例:hostname01,hostname02)| 8. ブラウザからプリザンターを使用できることを確認します。 ## 2. 既存DBの分離手順 ### 既存DBの分離 - 準備 1. プリザンターおよびMySQLのサーバの設定(サーバ名やIPアドレス等)をあらかじめ決めてください。 2. 分離を実行する前に、プリザンターのサービスを停止します。 3. MySQLを以前から運用中のものと異なるサーバに移転する場合は、以下手順を参照しDBのバックアップ・リストアを行ってください。 [FAQ:MySQL データベース バックアップ・リストア手順](faq-mysql-backup-restore) └ 異なる環境へリストアを行う場合 運用中のMySQLを引き続き同一のサーバで使用する場合、DBのバックアップ・リストアは不要です。 ### 既存DBの分離 - 手順 既にプリザンターを運用している環境でプリザンターとDBのサーバを分離する手順は以下の通りです。 1. [Rds.json](/ja/manual/rds-json)を編集し、3箇所のデータベース接続文字列について("SaConnectionString"、"OwnerConnectionString"、"UserConnectionString")、Serverにデータベースサーバを指定してください。 2. [Rds.json](/ja/manual/rds-json)を編集し、"MySqlConnectingHost"について以下の通りに指定してください。 |条件|設定値| |:--|:--| |以下の要件が特段ない場合(既定値)|"%"| |指定の外部のホストのみMySQLへアクセスを許可する場合|"接続を許可するホスト名/IPアドレス"。半角カンマ区切りで複数指定可(例:"hostname01,hostname02")| 3. SQLを実行するため、MySQLのサーバ上でMySQLにログインします。 ・MySQLにログインするコマンド Linuxの場合は以下コマンドでMySQLにログインします。 Windowsの場合はAzure Data Studio等のGUIツールを使用してMySQLにログインします。また、Pathを通して「mysql」コマンドを実行できるように設定している場合は、以下コマンドでMySQLにログインすることも可能です。 ```text mysql -u root -p ``` 4. [Rds.json](/ja/manual/rds-json)の"SaConnectionString"のユーザとして指定する「MySQLの管理ユーザアカウント@<接続元>」アカウントがMySQL上に存在するか確認します。 確認用コマンドの結果、user:root、host:% など外部から接続可能なアカウントが存在する場合は、手順2.5は実施不要のため、手順2.6に進んでください。 確認用コマンドは以下の通りです。 ```text SELECT user, host FROM mysql.user; ``` **<接続元>について** |条件|設定値| |:--|:--| |以下の要件が特段ない場合|%| |指定の外部のホストのみMySQLへアクセスを許可する場合|接続を許可するホスト名/IPアドレス。複数の接続元を許可している場合は複数レコードが取得される。| 5. 「MySQLの管理ユーザアカウント@<接続元>」アカウントがMySQL上に存在しない場合は、アカウントを追加します。 ```text create user 'root'@'<接続元>' identified by '<MySQLのrootアカウントのパスワード文字列>'; grant all on *.* to 'root'@'<接続元>' with grant option; ``` **接続を許可するホストを複数指定する場合** <details> <summary>(こちらをクリックすると詳細が開閉します) </summary> SQL文は許可する全接続元について実行します。以下は実行SQLの例です。 ```text create user 'root'@'192.168.1.100' identified by 'password'; grant all on *.* to 'root'@'192.168.1.100' with grant option; create user 'root'@'192.168.1.200' identified by 'password'; grant all on *.* to 'root'@'192.168.1.200' with grant option; ``` </details> 6. データベースサーバのファイアウォールの設定を変更し、MySQLのサービスに対する外部からの接続を許可します。 7. CodeDefinerを_rdsモードで実行します。 ・Windowsの実行例 ```text cd C:\web\pleasanter\Implem.CodeDefiner dotnet Implem.CodeDefiner.dll _rds ``` ・Linuxの実行例 ```text cd /web/pleasanter/Implem.CodeDefiner sudo -u <プリザンターを起動するユーザ> /usr/local/bin/dotnet Implem.CodeDefiner.dll _rds ``` 途中で 「Type "y" (yes) if the license is correct, otherwise type "n" (no).」 と表示されたら y を入力してください。 8. プリザンターのサービスを起動します。 9. ブラウザからプリザンターを使用できることを確認します。 ## 対応バージョン |対応バージョン|内容| |:--|:--| |1.4.18.0 以降|MySQLのDBへの接続元ホストにlocalhost(DBと同一のサーバ)以外を指定する機能の追加に伴いマニュアルを公開|
TOP
このページをシェアする
記載された商品名、各製品名は各社の登録商標または商標です。 © Implem Inc.