2

データベースを備えたリモートホスティングウェブサイトがありMySQLます。

小さなC#プログラムからそのデータベースにアクセスしようとしています。

私が試したこと

  • プロジェクトでMySQLDLLを参照する
  • MySQL接続文字列の使用
  • ファイアウォールを無効にする
  • Remote MySQL DatabasesサイトのcPanelのに自分のIPアドレスを追加する

私が得ているもの

  • VisualStudioコンソールでユーザーblabla@mycomputeripのアクセスが拒否されました

何が私の心を悩ませます

  • ウェブホスティングサービスがDBへのリモート接続を許可しているかどうかを確認するにはどうすればよいですか?
  • 本当にPuTTyでサーバーに接続し、構成を微調整する必要がありますか?
  • ^もしそうなら、私もそれをするためのアクセス権を持っていますか?

後で編集:

  • 十分に興味深い。私が行った場合

    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' WITH GRANT OPTION;
    

    それは私にこれを投げます:

    #1045 - Access denied for user 'blabla'@'localhost' (using password: YES)
    

    常識的に言うと、私のユーザー名は実際には「blabla」ではありません。

後で編集:

CREATE USERの権限がなく、PuTTyなどを介したSSHアクセスもありません。
これは基本的に、リモートの場所からDBに接続できないのはホスティングのせいであることを意味しますか?

4

4 に答える 4

1

mysql データベースのユーザーを見てください。いくつかの確認事項:

  1. 共有ホスティングで cPanel を使用してblahいる場合、mysql でのユーザーの実際の名前はunixusername_blah. これは、同じ MySQL サーバーを共有する異なる cPanel アカウント間の MySQL ユーザー名の競合を防ぐために自動的に行われます。

  2. MySQL では、ユーザーが接続できるホストを定義できます。定義した新しいユーザーは、IP からの接続を許可されていますか?

到着予定時刻:

そのユーザー アカウントの権限を調べて、適切な権限が付与されていることを確認してください。これを行うには、phpMyAdmin またはコンソールで次を実行します。

SHOW GRANTS FOR 'something_root'@'localhost'

そこで表示される助成金と、ここで得られる助成金を比較してください。

SHOW GRANTS FOR 'something_root'@'%'

最後に、ホスティング環境によっては、新しいユーザーを作成したり、これを行うのに十分な権限を拡張したりする権限がない場合があります。これは、共有ホスティング アカウントを持っている場合に特に発生する可能性があります。

于 2012-12-18T16:08:25.107 に答える
1

ホスティング サービスがネットワーク外からデータベース サーバーに接続できるかどうかを確認します。GoDaddy などの一部のホスティング会社では、デフォルトでこれが許可されていません。

また、好みのデータベース管理ツールを使用して、データベース ユーザーを作成し、それに権限を割り当てる必要があります。

于 2012-12-18T16:13:46.103 に答える
1

ウェブホスティング サービスがリモート接続を許可しているかどうかを確認するにはどうすればよいですか?

リモート接続を許可するものもあれば、許可しないものもあります。リモート接続を許可する場合は、ユーザーが接続できるホストを構成するか、ワイルドカード % を追加して任意のホストからの接続を許可する必要があります。

于 2012-12-18T16:11:02.413 に答える
0

mysqlユーザーパスワードをリセットしてから再試行してください

http://dev.mysql.com/doc/refman/5.1/en/resetting-permissions.html

于 2012-12-18T16:24:56.203 に答える