人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Linuxの勉強のため、Microsoft Virtual PC 2007を使ってWindows上で
バーチャル環境を構築し、いろいろやってみています。
とりあえず、apache・proftpd・php・Mysql・phpmyadminを設定
しました。OSはVine Linux3.2です。

そこで、質問があるのですが、ホストOS(Windows XP)から、
このバーチャル環境への接続を試みたところ、Web・ftpは
つながるものの、Mysqlが直接つながりませんでした。
(telnet・かねやんMySQLAdminで実験)
Microsoft Virtual PCを使った場合、ポート3306は開放
されないのでしょうか?
/etc/my.conf も設定しましたが・・・

この場合、全くMysqlはホストOSとは直接
つながらないのか、別の設定方法などがあれば教えてください。
よろしくお願いします。

●質問者: ketaojp
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:Apache ETC FTP Linux Microsoft
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● tomcat_a88
●23ポイント

手元にVirtualPC2007 + VineLinux4.1 を作ったばかりでしたので、試してみました。

(デスクトップ構成で、特に設定を変えることなくインストール)

インストール時にファイアウォールを有効(デフォルト)にしたのであれば、単にポートが空いていない可能性があるのではないでしょうか。

GNOME上から設定されているのであれば、メニューから「デスクトップ」→「セキュリティレベルとファイアウォールの設定」→ 「その他のポート」 で、 3306 の tcp を追加してみてください。

iptablesでやるなら、おそらく先に RH-Firewall-1-INPUT のチェインに飛ぶので、

# /sbin/iptables -A RH-Firewall-1-INPUT -p tcp --dport 3306 -j ACCEPT

って感じだと思います(オプションが足りなかったらごめんなさい)

あと、ネットワーク内のほかのPCから接続を許可するには、MySQL側の設定が必要です。

たとえば、 10.0.0.1 の PC から root で mysql接続を許可する場合には、次のようなSQL文を実行しとく必要ありです。

GRANT ALL PRIVILEGES ON *.* TO root@10.0.0.1 IDENTIFIED BY 'password' WITH GRANT OPTION;

(ネットワーク経由でrootの接続を受けるのは、だいぶ危険ですが)

◎質問者からの返答

ありがとうございます。

Vine Linuxはバージョン3.2を使っているので

ファイアウォール機能は関係ないようです。

ポートを開ける操作は何も行っていませんが、

SSH,Web,ftpは何の問題もなくつながりました。

もちろん、MySQLには接続元が'%'のユーザを

設定しています。


2 ● tomcat_a88
●23ポイント

Vineは3.2でもインストール時に言われたとおりインストールするとファイアウォールが入っちゃうような…。

よろしければ、 Vineのターミナル上で、

#/sbin/iptables -L

として、結果を見せてもらえませんか。疑いとしては、やはりファイアウォールの線だと思います。

(Vineのデフォルトで、 SSH Web FTP あたりは、空いてます、たしか。)

VirtualPC <-> ホストOS 間は、つながらないことはまず無いと思います。

ちょっと、こちらでもVine3.2で試してみますね・・・

◎質問者からの返答

勉強不足のため、お手数おかけしてすみません。

ご指示の結果ですが、

ーーーーーー

# /sbin/iptables -L

Chain INPUT (policy ACCEPT)

target prot opt source destination

Chain FORWARD (policy ACCEPT)

target prot opt source destination

Chain OUTPUT (policy ACCEPT)

target prot opt source destination

ーーーーーーーー

と、なりました。

これで何かわかりますでしょうか。

これでダメなら、はじめから構築し直すことも

考えたいと思います。


3 ● tomcat_a88
●22ポイント

こっちでもやってみました。

VineLinux3.2 フルインストールの構成です(ネットワークインストールしましたが…)

iptablesの結果は問題なさそうですね・・・ファイアウォールはとくに効いてないみたいです。

こっちでやってみました。

インストールは、単に # apt-get install mysql です。

つないでみましたが、とりあえずポートには無事つながりました。

まだ設定してませんので、このような応答が帰ってくるだけですが。

Host '192.168.1.11' is not allowed to connect to this MySQL server

たぶん、どこか基本的な部分でつまずかれているんじゃないかと思います。

念のためですが、mysqldは起動していますか・・・?

# netstat -an | more で、3306をListenしているか、

# ps -ef | grep mydwl で、プロセスはちゃんと起動しているか、

my.cnf で skip-networking が有効になってしまっていないか、などなど…

さらに念押しですが、VirtualPC側のIPはあってますか?

# /sbin/ip addr

ホストOS側(Windows)のファイアウォールで、telnet やらその他が、3306/tcp 宛のパケットをブロックしていたりしませんか?

あとは、もしmysqlをソースから入れているのだとしたら、aptで入れてみてください。

案外すんなりいくかもしれません。

◎質問者からの返答

いろいろありがとうございました。解決しました。

結論から言うと、LinuxやVirtualPCの設定の

問題ではなく、接続テストした

かねやんMySQLAdminが原因でした。

付属部品のlibmySQL.dllを入れ替えたところ、

接続に成功しました。

お騒がせしてすみませんでした。

ここまでお付き合いいただいたことに

感謝いたします。


4 ● tomcat_a88
●22ポイント

あちゃー…。

telnetでも試されたとあったので、クライアント側はあまり気にしてなかったのですが;

ちょっとガックリなオチですね(笑)

MySQLの操作は、Vine側に phpMyAdminでも入れておくと良いと思いますよ。何かと便利です。

なんだか、こんなオチですし、ポイントは結構です^^;

Linuxスタディ、がんばって続けられてください。応援しています。

◎質問者からの返答

がっくりさせてしまい、本当に申し訳ありません。

以前にMySQL4.0.25を違う環境で扱っていたときには、

問題なかったので、私もクライアントは気にして

いなかったのですが、

今回は4.1だったのに仕様の違いを知らず、

こんなことになってしまいました。

まだまだ勉強不足なので、これからも

頑張りたいと思います。

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ