サーバ WebサーバとDBサーバの複数台構成ができない。
解決済
回答 2
投稿 ・編集
- 評価
- クリップ 0
- VIEW 2,602
https://teratail.com/questions/2406
うまくできませんでした。
現状以下のような設定です。
webサーバのipが例えば、162.243.148.○○
dbサーバのipが例えば、162.243.148.6
というのがあったとします。
dbサーバで
例えば、testdbというデータベースがあります。
そこで
grant all privileges on testdb.* to root@“WebサーバのIP(例)162.243.148.○○” identified by ‘DBパスワード’ with grant option;
dbサーバでmysqlコンソールで上記のSQLを実行しました。
WebサーバのPHPファイルは以下です。
<?php
$host = "162.243.148.6"; // ホスト
$user = "root"; // ユーザー名
$password = "dbパスワード";
$dbname = "testdb"; // データベース名
try {
$pdo = new PDO("mysql:host={$host}; dbname={$dbname}; charset=utf8;", $user, $password);
print 'sccess';
} catch (PDOException $e) {
print "error: " . $e->getMessage() . "<br>";
die();
}
これで、WebサーバからURLアクセスすると、うまく接続ができていないのです。
どこが間違っているのでしょうか?
Mysql ポートは空いてたかと思います。
TCP/IPの設定とかもするのでしょうか?
他に何かアドバイスあれば教えていただけますか?
宜しくお願いします。
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
+2
netstatコマンドなどでどこで待ち受けているか確認が必要かと思います。
nmapコマンドなどでWebサーバからデータベースサーバのポートを見た時にopenになっていないのではないでしょうか?
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+1
出来ないならユーザの設定とか接続制限とかだと思います。
そっちで普通に繋がって、PDOで繋がらないなら、
SELinuxのどっかの設定を変えたら繋がるかもです。
過去に何かそんな質問があったと思います。
具体的にどれかは忘れましたが。
それと何かしらのエラーが出るならエラー内容を書いた方がいいと思います。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.23%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
2014/10/21 10:01
nmapでWebサーバからDBサーバを見た際の出力結果を載せておきます。
Host is up (0.00052s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
3306/tcp open mysql
2014/10/21 10:13
2014/10/21 10:15
2014/10/21 10:53
Mysqlサーバ側の設定のskip-networkingについてですが、
現状変更していなかったです。
PHPのエラーについては、8行目で
Fatal error: Class 'PDO' not foundとなっています。
2014/10/21 10:58
PHPのPDO拡張はインストールされているでしょうか?
2014/10/21 11:43
yum install php-pdo
yum install php-mysql
とし
/etc/php.ini
に、
extension=pdo.so
extension=pdo_msql.so
を追加しphpを再起動&nginxを再起動しましたが、
phpinfoにはPDOが出てきません。
何か原因はありますでしょうか?
2014/10/21 11:44
error: could not find driver
とでていました。
2014/10/21 11:45
2014/10/21 12:05
は入力ミスではないでしょうか?