QA@IT

Web上のMySQLで作られたDBをAccessで操作したい

5419 PV

私が今困っている問題、Webにあるデータベース・サーバのフロントエンドとしてAccessを利用したいと思いいろいろとやってみたのですが、うまくいかずNET上を検索していましてこのページを発見しました。

そのようなことで下記の点について教えていただきたく投稿をさせていただきました。
☆ ローカルな環境では接続できているのですが、Web上のDBに接続することができるのでしょうか?
☆ もし可能だとしたら、私の設定が違うのでしょうから、Connector/ODBCダイアログに私が設定した内容でよいのかどうか、教えていただければ幸甚に思います。

―――設定情報―――OS:WindowsXp
-Data Source Name:任意の文字列
-Description:空白
-TCP/IP Server:サーバーのIPアドレスそのもの
-Port:サーバーのポート番号
-User:サーバーのログインID
-Password:サーバーへのログインパスワード
-Database:MySQLのデーターベース名

上記の設定を行ってダイアログ上の「Test」ボタンを押すと
Connection failed: [HY00][MySQL][ODBC 5.2(w) Driver]Host ‘~~接続情報~~’ is not allowed to connect to this MySQL server
のメッセージが出ます。

以上のような状況ですが、間違っているところ等をご指摘いただければ幸甚です。よろしくお願いいたします。

また、参考になるような事柄、および、NET上の情報等あわせて教えていただければ幸いです。

以上、よろしくお願いいたします。

  • セキュリティー上あまり良い方法でないかもしれませんが、ホストをすべてのホストにした接続用のユーザを作ってそれに接続することによって接続ができました。

    ただ、いろいろ調べてみましたところ、接続先を特定していないので、ID/PWがわかれば誰からでも接続できるので非常に危険だというようなことがnet上に書かれており、本稼動させようかどうか考えています。

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

回答

Connection failed: [HY00][MySQL][ODBC 5.2(w) Driver]Host ‘〜削除〜’ is not allowed to connect to this MySQL server

のエラーの通り、MySQLの方で別ホストからのアクセスが許可されていないのだと思います。

Web経由でphp myAdminなどで参照可能でしたら、
mysql.usersテーブル、
または information_schemaのUSER_PRIVILEGES、
でどうなっているか確認可能です。
(セキュリティ上の都合で、上記の情報はここで公開してはいけません)
ホスト名がlocalhostまたはWebサーバーのipアドレスに限定されているでしょう。

どういったサービスのMySQLサーバーに接続しようとしているかは不明ですが、通常共用レンタルサーバーのMySQLはセキュリティ上の都合から外部からのアクセスは禁止していると思いますので、その場合は実現は難しいんじゃないでしょうか。

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。