2012-02-15 9 views

答えて

1

いいえ、一般的に言えば、MySQLユーザーは1人(または少数)あり、PHPスクリプト(または他のサーバー側コード)はこの1人のユーザーを使用してデータの取得と設定を行います。いくつかのシナリオでは、追加のセキュリティレベルとして、さまざまな権限レベルを持つ少数のMySQLユーザーを作成すると便利です(したがって、selectクエリは、select特権のみを持つユーザーを使用して実行され、insertsおよびupdatesは、 )。リモートコンピュータがMySQLデータベースに直接アクセスできるようにする場合(パートナーのWebサイトやアプリケーションの場合)、接続に必要なものだけに制限された特定のMySQLユーザーを作成することも一般的です(たとえば、dropまたはmodifyパーミッション)あなたのIPアドレスに排他的に(あなたは1人のアドレスからの接続にMySQLユーザを制限することができます)。

最終的には、一般的には少数のユーザーを作成する必要があり、Webサイト/アプリケーションはすべてのクエリを実行するためにこの小さなユーザープールのみを使用します。さらに、タスクを達成するためにできるだけ少ない権限を持つユーザーでデータベースにアクセスすることをお勧めします(理由の範囲内で...可能なすべてのアクションに対して別のユーザーを作成しないでください...通常は1-3人のユーザーがすべてをカバーする必要がありますあなたが望むパーミッションレベル)。膨大な数のユーザーを作成する場合は、(a)より大きな権限テーブルにアクセスする必要があるため、MySQLの速度を落とします。 (b)アプリケーションが変更された場合にパーミッションを管理するのはずっと難しくなります。 (c)アクセス権の問題をデバッグするのは難しいことです(PHPスクリプトでは、アクセス権の問題がある場合に、何を実行しレポートするかに柔軟性があります)。

+0

詳細Benありがとうございます。本当に便利です! – qminhdo

0

通常は、1つのデータベース接続があり、各ユーザーアカウントを格納します。各DBに接続するためにユニークなユーザー権限を持っているか、すべてのユーザーが、このような同じ権限を使用するソーシャル・ネットワーキング・サイトを使用するすべてのユーザーを実行します。対応するユーザー名とパスワードを持つ "Users"テーブルに保存します。

+0

私は混乱しています。 Webサイトを使用するすべてのユーザーに一意のdb接続を追加または作成する必要がありますか、すべてのユーザーに対して1つのdb接続を使用できますか。回答ありがとうございます。 – qminhdo

+0

アプリケーションはDBへの接続を処理します。接続はユーザー間で共有されます。 –

+0

入手しました。ありがとう! – qminhdo

関連する問題