Die kurze Installationsanleitung für WordPress ( "5 Minuten" ) besagt, dass:
Erstellen Sie eine Datenbank für WordPress auf Ihrem Webserver sowie einen MySQL-Benutzer, der über alle Zugriffsrechte und Änderungsrechte verfügt.
Bei der professionellen Einrichtung eines neuen Blogs habe ich mich gefragt, wie das der Konfiguration der MySQL-Datenbankbenutzerrechte / -berechtigungen entspricht:
- Daten:
SELECT
,INSERT
,UPDATE
,DELETE
- Definition:
CREATE
,ALTER
,DROP
- Extra:
INDEX
- Mehr:
LOCK TABLES
REFERENCES
CREATE TEMPORARY TABLES
CREATE VIEW
SHOW VIEW
CREATE ROUTINE
EXECUTE
ALTER ROUTINE
Ich bin mir ziemlich sicher für die ersten drei Gruppen, ich habe sie hier Data, Definition und Extra genannt. Aber was ist mit den anderen unter dem Eintrag Mehr ? Normalerweise würde ich sagen, dass diese nicht benötigt werden, aber ich würde gerne eine zweite Meinung einholen.
"Alle Rechte" bedeutet normalerweise, dass Sie dem Benutzer alles überlassen sollten. Jedoch ...
Ich habe mindestens einen Artikel gefunden , in dem behauptet wird, dass der MySQL-Benutzer nur Folgendes benötigt:
Bei näherer Betrachtung stellte ich fest, dass WordPress einige zusätzliche Berechtigungen benötigt, um vollständig zu funktionieren (automatisierte Updates, Plug-in-Installation / -Deinstallation usw.):
Auch nicht referenziert, aber es macht Sinn:
Aber das sind die einzigen zwei soliden Referenzen, die ich finden kann und die von Meinungen gestützt werden, die an anderer Stelle veröffentlicht wurden. Ich würde Sie weiterhin ermutigen, sich an GRANT ALL zu halten, aber wenn Sie Ihre DB-Nutzung unbedingt einschränken müssen , beginnen Sie mit diesen 7 Berechtigungen und testen Sie alles, um sicherzustellen, dass die Dinge wie erwartet funktionieren.
quelle
Das sagt Codex zur Einschränkung von Datenbankbenutzerrechten:
http://codex.wordpress.org/Hardening_WordPress
quelle
In Bezug auf den "Hinweis" in Redburns Beitrag enthält der Wordpress-Codex auch eine Warnung, die Sie auch über Updates und Änderungen des Datenbankschemas lesen sollten ...
(Bearbeiten: Ich bemerke jedoch, dass ich beim Erstellen oder Aktualisieren eines Benutzers NICHT mehr "GRANT" in der Liste der Berechtigungen sehe . Vielleicht sollte "CREATE" zur Liste hinzugefügt werden? Hat jemand Informationen dazu? - mit Hostgator cPanel , März 2016 -)
Codex: http://codex.wordpress.org/Hardening_WordPress
quelle
Meine Meinung ist die gleiche wie bei @EAMann und die Quellen, auf die er verwiesen hat: GRANT ALL ist notwendig, um sicherzustellen, dass Ihre Site funktionsfähig und zukunftssicher ist. Selbst auf einer Produktionsstätte sollten Sie versuchen, sich an die Bedienungsanleitung zu halten.
Als jemand, der Code zum WordPress-Core und zu einigen Plug-ins beiträgt, empfehle ich, die im Benutzerhandbuch empfohlenen Standard-DB-Berechtigungen beizubehalten (GRANT ALL PRIVILEGES ON wpdatabasename. * TO "wordpressusername" @ "hostname").
Der WordPress-Quellcode (gegenwärtig und zukünftig) setzt voraus, dass der WordPress-DB-Benutzer alle DB-Berechtigungen für die angegebene WordPress-Datenbank besitzt. Wenn Ihr Setup keine DB-Berechtigungen hat, können Probleme auftreten, wenn Sie WordPress aktualisieren und weitere Plug-Ins hinzufügen.
Sie sollten also keine anderen DB-Berechtigungen als die im Handbuch empfohlenen Standard-DB-Berechtigungen verwenden, es sei denn, Sie wissen, was Sie tun, haben sehr spezielle Anforderungen und vergessen nicht, dass Sie benutzerdefinierte DB-Berechtigungen haben.
Die Codex-Seite wurde seitdem mit Beispielen auf verschiedenen Systemen und Screenshots aktualisiert. https://codex.wordpress.org/Installing_WordPress#Step_2:_Create_the_Database_and_a_User
Erstellen eines Datenbanknamens und eines Benutzers (über PHPMyAdmin): https://codex.wordpress.org/Installing_WordPress#Using_phpMyAdmin
Erstellen eines Datenbanknamens und eines Benutzers (über den MySQL-Befehlszeilenclient): https://codex.wordpress.org/Installing_WordPress#Using_the_MySQL_Client
quelle