※ ChatGPTを利用し、要約された質問です(原文:お世話になっております。
)
別々のサーバーでのデータベース処理に関する質問
このQ&Aのポイント
PHPとMySQLを用いて作成している物件情報の管理システムで、データベースとスクリプトを別々のサーバーで管理する必要があります。しかし、他サーバーのデータベースへの正常な接続ができず、エラーが発生しています。
Aサーバーのホスト名がBサーバーのMySQLへの接続を許可されていない可能性があります。設定方法に問題があるか、他にも必要な設定があるのかご教授をお願いします。
初めてこのような設定を行うため、まだまだ知識不足で初歩的な質問かもしれませんが、ネットで検索しながら作業を行っています。ご教授いただけると幸いです。
お世話になっております。
別々のサーバー間でのデータベース処理について質問があり、
投稿させて頂きました。
現在、
物件情報を管理する為のCMSをPHPとMySQLを用いて作成しています。
CMS管理画面を作成して、
物件の情報登録、修正、削除を行える簡単なシステムです。
ただ、今回はデータベースとスクリプトを別々のサーバーで管理することになりました。
仮に、
スクリプトを置くサーバーをAサーバー、
データベースを置くサーバーをBサーバーとします。
そこで、
以下の様に設定をしたのですが、
どうも他サーバーのデータベースへ正常に接続できず、エラーになります。
まず、Aサーバーの「/etc/hosts.allow」に以下の記述を追加しました。
***********************************************************
in.telnetd: sample.co.jp
in.ftpd: sample.co.jp
in.popper: sample.co.jp
***********************************************************
次に、
PHP側で以下の様に記述して、MySQLへの接続を試みました。
mysql_connect('Bサーバー側のホスト名', 'ユーザーID', 'パスワード');
すると、
ここの接続のところでエラーになります。
**********************************エラー内容**********************************
Warning: mysql_connect() [function.mysql-connect]: Host 'Aサーバーのホスト名' is not allowed to connect to this MySQL server in /home/・・・/index.php
**********************************エラー内容**********************************
エラー内容を見る限り、
AサーバーのホストがBサーバーのMySQLへの接続を許可されていないのだと思うのですが、
設定の方法が間違っているのでしょうか?
それとも、
上記以外にも設定が必要なのでしょうか?
このような設定を行うなうのが初めてなので、
ネットで方法を検索しながら作業をしています。
その為、まだまだ知識不足で初歩的な質問かも知れないですが、
何卒ご教授を頂ければ助かります。
お手数ですが、
宜しくお願い致します。
お礼
返信遅くなりすみません。 仕事の方がばたばたしていて、 中々お返事できませんでした。 >>MySQLにも設定があって、極端な話、ローカル接続のみとするか、それともグローバル接続とするかの設定があります。 そうなんですね。 まだまだ勉強不足でローカル接続やグローバル接続ということにまで頭が回っていませんでした。 ただ、 今回は結局社内で話し合った結果別の方法を取ることになりました。 その為、 他サーバー間でデータベースを直接操作する必要はなくなったのですが、 時間を取り今回の質問したような設定についても勉強しておこうと思います。 ありがとうございます。