質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Q&A

解決済

2回答

3313閲覧

サーバ WebサーバとDBサーバの複数台構成ができない。

K_T_T_K

総合スコア231

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

0グッド

0クリップ

投稿2014/10/20 11:07

前回同じような質問をさせていただいたのですが、
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ファイルは以下です。

lang

1<?php 2$host = "162.243.148.6"; // ホスト 3$user = "root"; // ユーザー名 4$password = "dbパスワード"; 5$dbname = "testdb"; // データベース名 6 7try { 8 $pdo = new PDO("mysql:host={$host}; dbname={$dbname}; charset=utf8;", $user, $password); 9 print 'sccess'; 10} catch (PDOException $e) { 11 print "error: " . $e->getMessage() . "<br>"; 12 die(); 13}

これで、WebサーバからURLアクセスすると、うまく接続ができていないのです。

どこが間違っているのでしょうか?

Mysql ポートは空いてたかと思います。
TCP/IPの設定とかもするのでしょうか?

他に何かアドバイスあれば教えていただけますか?
宜しくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

データベースサーバがローカルIPアドレスでバインドされているかもしれません。
netstatコマンドなどでどこで待ち受けているか確認が必要かと思います。
nmapコマンドなどでWebサーバからデータベースサーバのポートを見た時にopenになっていないのではないでしょうか?

投稿2014/10/20 23:04

TaMaMhyu

総合スコア1356

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

K_T_T_K

2014/10/21 01: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
TaMaMhyu

2014/10/21 01:13

MySQLサーバ側の設定でskip-networkingと言うのは無効になっているでしょうか?
TaMaMhyu

2014/10/21 01:15

ちなみにPHPから出る具体的なエラーはどのようなものでしょうか?
K_T_T_K

2014/10/21 01:53

回答ありがとうございます。 Mysqlサーバ側の設定のskip-networkingについてですが、 現状変更していなかったです。 PHPのエラーについては、8行目で Fatal error: Class 'PDO' not foundとなっています。
TaMaMhyu

2014/10/21 01:58

それだとPDO拡張がないと言っている気がしますが… PHPのPDO拡張はインストールされているでしょうか?
K_T_T_K

2014/10/21 02:43

phpinfoでPDOがなかったため、 yum install php-pdo yum install php-mysql とし /etc/php.ini に、 extension=pdo.so extension=pdo_msql.so を追加しphpを再起動&nginxを再起動しましたが、 phpinfoにはPDOが出てきません。 何か原因はありますでしょうか?
K_T_T_K

2014/10/21 02:44

再度、接続用PHPにアクセスしたところ、 error: could not find driver とでていました。
K_T_T_K

2014/10/21 02:45

PDOのMySQLドライバーがインストールされていないのでしょうか?
TaMaMhyu

2014/10/21 03:05

pdo_msql.so は入力ミスではないでしょうか?
guest

0

普通にMySQLクライアントでリモート接続は出来ますか?
出来ないならユーザの設定とか接続制限とかだと思います。
そっちで普通に繋がって、PDOで繋がらないなら、
SELinuxのどっかの設定を変えたら繋がるかもです。
過去に何かそんな質問があったと思います。
具体的にどれかは忘れましたが。
それと何かしらのエラーが出るならエラー内容を書いた方がいいと思います。

投稿2014/10/21 01:16

kinme

総合スコア843

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kinme

2014/10/21 01:31

そうです これですこれ
kinme

2014/10/21 01:51

そうです これです 幾らか前の質問だったんでどんなタイトルだったか分からなかったです(笑)
TaMaMhyu

2014/10/21 01:57

selinuxで検索したら解決済みはそれだけでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問