特権ユーザはどのようにMySQLで動作しますか?特権ユーザはどのようにMySQLで動作しますか?
$dsn = 'mysql:host=localhost;dbname=social_site';
$username = 'members';
$password = 'pa55word';
特権ユーザはどのようにMySQLで動作しますか?特権ユーザはどのようにMySQLで動作しますか?
$dsn = 'mysql:host=localhost;dbname=social_site';
$username = 'members';
$password = 'pa55word';
いいえ、一般的に言えば、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スクリプトでは、アクセス権の問題がある場合に、何を実行しレポートするかに柔軟性があります)。
通常は、1つのデータベース接続があり、各ユーザーアカウントを格納します。各DBに接続するためにユニークなユーザー権限を持っているか、すべてのユーザーが、このような同じ権限を使用するソーシャル・ネットワーキング・サイトを使用するすべてのユーザーを実行します。対応するユーザー名とパスワードを持つ "Users"テーブルに保存します。
詳細Benありがとうございます。本当に便利です! – qminhdo