1

私はC#でアプリを持っていて、cpanelでmysqlデータベースにリモート接続したい私のコードは次のとおりです:

static string MyConString = SERVER= remoteDomin.com;DATABASE=XXX;UID=XXX;PASSWORD=XXX;";
MySqlConnection connection = new MySqlConnection(MyConString);

しかし、これは成功してスローできませんMySql.Data.MySqlClient.MySqlException:

ユーザー 'XXXr'@'adsl-109-74-46-204.dynamic.yemennet.ye' のアクセスが拒否されました (パスワードを使用: YES)

4

1 に答える 1

1

「cpanel で」とはどういう意味ですか? MySQL サーバーはホスティング プロバイダーで実行されていますか? クライアントはローカル マシン上にありますか? その場合、パブリック インターネット経由で MySQL クライアントとサーバー間を接続しようとしていることを意味します。確かに、これはあなたがやろうとしていることのようです。

多くのホスティング プロバイダーはこれを許可していません。あなたが受け取っているメッセージは、MySQL サーバーが特定の接続要求を拒否していることを示しているためです。

MySQL データベースにアクセス権限を付与する必要があるため、

XXXr@%

または多分

XXXr@adsl-109-74-46-204.dynamic.yemennet.ye

データベースにアクセスできます。最初の選択肢は、任意のホストから接続しようとしているユーザー XXXr にアクセスを許可します。2 つ目は、現在の ADSL アクセス IP 番号に対応するホスト名です。

このユーザー権限 (ユーザー アクセスとも呼ばれます) を cpanel 経由で付与する方法がわからない場合は、ホスティング プロバイダーのテクニカル サポートにお問い合わせください。

ホスティング プロバイダー (MySQL サーバーを実行し、それに cpanel アクセスを提供するサービス) がこれを許可しない可能性があります。一般に、公共のインターネットから MySQL データベースへの接続を許可することは、やや安全ではないと考えられています。

于 2013-01-07T01:22:47.357 に答える