Wie arbeiten Privilegien Benutzer an MySQL?
Frage
Wie arbeiten Privilegien Benutzer an MySQL? Haben alle Benutzer, die eine soziale Netzwerkwebsite verwenden, jeweils ein einzigartiges Benutzerberechtigte, um eine Verbindung zum DB herzustellen, oder alle Benutzer verwenden die gleichen Berechtigungen wie:
$dsn = 'mysql:host=localhost;dbname=social_site';
$username = 'members';
$password = 'pa55word';
Lösung
Nein, im Allgemeinen gibt es eine (oder eine kleine Anzahl) von MySQL -Benutzern, und das PHP -Skript (oder einen anderen Server -Nebencode) verwendet diesen einen Benutzer, um das gesamte Abrufen und Einstellen von Daten durchzuführen. In einigen Szenarien ist es hilfreich, eine Handvoll MySQL -Benutzer mit verschiedenen Berechtigungsstufen als zusätzliche Sicherheitsstufe zu erstellen (so allgemein select
Abfragen werden mit nur einem Benutzer mit nur ausgeführt select
Privilegien und inserts
und updates
werden von einem separaten Benutzer mit diesen Berechtigungen behandelt). Wenn Sie Remote -Computer erlauben, direkt auf die MySQL -Datenbank (für Partner -Websites oder -Anwendungen) zugreifen zu können drop
oder modify
Zum Beispiel Berechtigungen) und ausschließlich auf ihre IP -Adresse beschränkt (Sie können einen MySQL -Benutzer auf Verbindungen von nur einer einzigen Adresse beschränken).
Das Fazit ist, dass Sie im Allgemeinen nur einige Benutzer erstellen sollten, und Ihre Website/Anwendung verwendet nur diesen kleinen Pool von Benutzern, um alle Abfragen durchzuführen. Darüber hinaus ist es eine gute Praxis, mit einem Benutzer auf die Datenbank zuzugreifen, der die wenigsten Berechtigungen hat, die Aufgaben zu erledigen Berechtigungsstufen, die Sie möchten). Wenn Sie eine große Anzahl von Benutzern erstellen, werden Sie (a) MySQL verlangsamen, da sie auf eine größere Berechtigungstabelle zugreifen müssen. (b) Es wird viel schwieriger sein, Berechtigungen zu verwalten, wenn sich der Antrag in der Straße ändert. und (c) es ist eher ein Schmerz für die Debugg -Berechtigungsfragen (Ihr PHP -Skript hat mehr Flexibilität bei dem, was zu tun und zu melden ist, wenn eine Berechtigungsprobleme vorliegt).
Andere Tipps
Normalerweise haben Sie eine Datenbankverbindung und speichern die Konten der einzelnen Benutzer in einer "Benutzer" -Tabelle mit entsprechenden Benutzernamen und Passwörtern.