FAQ:MySQLでWebサーバとDBサーバを分離した構成にしたい
## 回答
同一サーバにMySQLとプリザンターが共存する環境を構築する場合と比較して、追加手順が必要です。手順はプリザンターのバージョンと構築の契機により異なります。
---
## 制限事項
1. MySQLでWebサーバとDBサーバを分離した構成にする際、プリザンターのバージョンは1.4.10.0 以降としてください。プリザンターはVer1.4.9.0以降でMySQLに対応しましたが、WebサーバとDBサーバを分離した構成はVer1.4.10.0以降でなければ構築できません。
2. SQL ServerおよびPostgreSQLでは考慮不要です。[Rds.json](/ja/manual/rds-json)の"MySqlConnectingHost"は使用しないため、設定不要です。
## 1. 同一サーバにMySQLとプリザンターが共存する環境を構築する手順
新規セットアップのマニュアルのみ参照ください。追加手順は不要です。

1. 新規セットアップのマニュアルに従ってプリザンターをセットアップします。
・[インストーラでセットアップする手順](https://pleasanter.org/ja/manual?category=0091)
・[手動でセットアップする手順](https://pleasanter.org/ja/manual?category=0092)
2. Ver.1.4.18.0以降では、新規セットアップマニュアルの途中、Rds.jsonの"MySqlConnectingHost"を設定します。詳細は「[パラメータ設定:Rds.json](rds-json)」を参照ください。
## 2. MySQLとプリザンターのサーバを分離して構築する手順
所定の手順が必要です。

|プリザンターのバージョン|実施手順|
|:--|:--|
|1.4.18.0以降|「[WebサーバとDBサーバを分離した構成でMySQLを利用できるように設定する(Ver.1.4.18.0以降)](mysql-connecting-host-description)」を参照|
|1.4.17.1以前|「[WebサーバとDBサーバを分離した構成でMySQLを利用できるように設定する(Ver.1.4.17.1以前)](mysql-create-user-by-sql)」を参照|
## 説明
Ver.1.4.17.1以前で、MySQLかつWebサーバとDBサーバを分離した構成にする際は必ずSQL文を実行し、別ホストから接続するためのアカウントの手動追加が必要でした。MySQLの仕様により、MySQLのユーザアカウント管理では接続元の情報が管理されます。この仕様により、登録されていないサーバ上にあるプリザンター(およびCodeDefiner)の処理でMySQLへ接続しようとした際はエラーになるためです。
Ver.1.4.18.0以降、別ホストから接続するためのアカウントの自動追加に対応したため一部手順が省略可能となりました。
## 対応バージョン
|対応バージョン|内容|
|:--|:--|
|1.4.10.0 以降|MySQLのアクセス制御機能によりOwner、Userの接続が拒否される場合がある問題の解消に伴いFAQを公開<br>※プリザンターはVer1.4.9.0以降でMySQLに対応しましたが、本FAQの回答で示した手順はVer1.4.10.0以降でなければ実施できません。|
|1.4.18.0 以降|MySQLのDBへの接続元ホストにlocalhost(DBと同一のサーバ)以外を指定する機能を追加|