アプリ版:「スタンプのみでお礼する」機能のリリースについて

Linuxのウェブサーバーに内側のWindowsPCからMySQL接続ができません。
外に公開することはまだ考えていませんが、MySQLのポート(3306)を開けないとだめなんでしょうか?

(確認事項)
・ブラウザからphpinfo()のファイルは見えます。
・Linuxでmysqlコマンドは使用でき、テーブルの一覧など見えます。

(環境)
OS/Linux(Debian3.1)
httpd/Apache1.3.33
database/MySQL4.0.24
CGI/PHP4.3.10-16

A 回答 (2件)

MySQLではユーザー認証の際に接続元を限定させることができます。


MySQLサーバーに接続ユーザーを登録する時に指定したはずです。

MySQLサーバー内のユーザーを管理しているテーブル(データベース名「mysql」の中のテーブル名「user」)を開くと、「Host」という項目があります。
そこが「%」のときは全てのリモートホストからの接続ができますが、「localhost」だと自分自身(そのマシン自身)からしかアクセスできません。
他にもこの項目はIPアドレスなんかをいれることで制限できます。ユーザー毎にできるので便利なのが特徴です。

で、これが原因でアクセスできないのだと思われますが確認してみてはどうでしょうか?

なお、
> MySQLのポート(3306)を開けないとだめなんでしょうか?
とありますが、ポートが開いていないとMySQLサーバー自体動いていないはずです。(自分自身でもアクセス不可)
ルーター等のことを言っているのであれば、それは外に対して開けるのですから意味がありません。
そのMySQLの入っているLinuxマシンにソフトウェアファイアーウォールが入っていて弾いているのであればそれは許可しないとだめです。

あと気になった点をひとつ

>> WindowsのMySQLにMySQL Administratorがあると思いますが、それでも接続はできませんか?
> MySQLはLinuxにインストールしています。

質問に対して回答が合っていません。w
MySQLにアクセスできるGUIなクライアントソフトとして「MySQL Administrator」というのがあります。
それから接続できないかを質問者さんは尋ねたということです。
ちなみに「MySQL Administrator」は
http://www.mysql.com/products/tools/administrator/
で公開されています。

この回答への補足

回答ありがとうございます。
mysqlのuserテーブルのlocalhostになっていたので、%になおしてやってみました。
MySQLAdministratorも使ってみましたが接続されません。

なお、ブラウザで表示されるエラーは
Fatal error: Call to undefined function: mysql_connect()
です。
MySQLAdministratorでのエラーは、
MySQL Error Number 2003
Can't connect to MySQL server On 'localhost' (10061)
です。

WindowsPC(XP/HomeEdition)のほうにもApach+MySQL+PHPをインストールしてることも影響ありますか?
サービスは止めてあります。

補足日時:2006/01/20 23:02
    • good
    • 0
この回答へのお礼

解決しました。
いろいろお手数かけました。
php4-mysql
をインストールしないといけなかったようです。

お礼日時:2006/01/21 01:17

もう少し詳しく書かないと回答を導きづらいです。



1)ブラウザからphpinfoができる。
  LinuxでApacheは正しく動いている。
  LinuxでPHPは正しく動いている。
2)Linuxでmysqlコマンドは使える。
  LinuxでMySQLは正しく動いている。

これだけしかわからないのです。

・ブラウザから確認したphpinfo、これはLinux上で確認されたのでしょうか?それともWindowsPC上でしょうか?
・Linuxはローカルに存在するのでしょうか?それともルータ超えた先にあるのでしょうか?
・MySQL接続ができないのは、何で確認したのでしょうか?
・WindowsPCから、そのLinuxサーバーに対してPINGは実行できるのでしょうか?
・WindowsのMySQLにMySQL Administratorがあると思いますが、それでも接続はできませんか?

この回答への補足

回答ありがとうございます。補足します。

> ブラウザから確認したphpinfo、これはLinux上で確認されたのでしょうか?それともWindowsPC上でしょうか?
WindowsPCからIEで確認しました。

> Linuxはローカルに存在するのでしょうか?それともルータ超えた先にあるのでしょうか?
ローカルに存在します。ルーターの先はまだ考えていません。

> MySQL接続ができないのは、何で確認したのでしょうか?
PHPのMySQLの接続スクリプトを書いたファイルにWindowsPCからIEで「http://x.x.x.x/~siteyuh/test.php」を表示して確認しました。
下記抜粋
$conn = mysql_connect("localhost", "siteyuh", "*****") or die("error");

> WindowsPCから、そのLinuxサーバーに対してPINGは実行できるのでしょうか?
PINGは通っています。

> WindowsのMySQLにMySQL Administratorがあると思いますが、それでも接続はできませんか?
MySQLはLinuxにインストールしています。

補足日時:2006/01/20 12:52
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!