2

私の状況は次のとおりです。サーバーが 2 つあり、1 つは IIS を実行する Windows サーバーで、私の Web サイトを保持しています。もう 1 つは、私の mysql サーバーを保持する Linux サーバーです。

最小限の権限を持つ (mysql) ユーザーを mysql サーバー上に作成し、Web サイトから接続してクエリを実行するときにその資格情報を使用します。

しかし、クエリを実行し、mysql サーバーで実行されているプロセスを確認すると (mysql> show processlist)、(Web サイトから) 実行したクエリが (mysql) root アカウントで実行されていることがわかります。

なぜこれが起こるべきか考えていますか??


Hituptonyはそれを理解しました:-)私のクエリはSPによって処理され、準備されたステートメントに変換されてから実行されました...そのSPはルートアカウントで定義され(神は理由を知っています)、さらに「呼び出し元」を持っていませんでした「セキュリティ条項。

http://dev.mysql.com/doc/refman/5.5/en/stored-programs-security.html

4

1 に答える 1

1

ストアドプロシージャを実行していて、ルートアカウントによって作成されている場合、それを実行すると、それを実行しているユーザーとして「作成したユーザー」が表示されます。実際には、おそらく接続ユーザーです。理論的には、選択ステートメントを実行している場合、選択する「作成者」がいないため、接続ユーザーとして実行されます...私のドリフトをキャッチした場合...

于 2013-02-11T14:46:51.113 に答える