La courte instruction d’installation de WordPress ( "5 minutes" ) indique que:
Créez une base de données pour WordPress sur votre serveur Web, ainsi qu’un utilisateur MySQL disposant de tous les privilèges lui permettant d’y accéder et de le modifier.
Lors de la création professionnelle d'un nouveau blog, je me demandais comment cela correspond à ce que la configuration des privilèges / autorisations des utilisateurs de la base de données MySQL m'offre:
- Données:
SELECT
,INSERT
,UPDATE
,DELETE
- Définition:
CREATE
,ALTER
,DROP
- Supplémentaire:
INDEX
- Plus:
LOCK TABLES
REFERENCES
CREATE TEMPORARY TABLES
CREATE VIEW
SHOW VIEW
CREATE ROUTINE
EXECUTE
ALTER ROUTINE
Je suis assez sûr pour les trois premiers groupes, je les ai nommés Data, Definition et Extra ici. Mais qu'en est-il des autres en dessous de l' entrée Plus ? Normalement, je dirais que ce n'est pas nécessaire, mais j'aimerais avoir un deuxième avis.
"Tous les privilèges" signifie généralement que vous devez tout attribuer à l'utilisateur. Toutefois ...
J'ai trouvé au moins un article qui prétend que l'utilisateur de MySQL n'a besoin que de:
En fouillant plus profondément , j'ai constaté que pour fonctionner pleinement (mises à jour automatisées, installation / désinstallation de plug-ins, etc.), WordPress nécessite des autorisations supplémentaires:
Aussi, non référencé mais cela a du sens:
Mais ce sont les deux seules références solides que je puisse trouver qui soient étayées par des opinions postées ailleurs. Je vous encourage quand même à vous en tenir à GRANT ALL, mais si vous devez absolument limiter votre utilisation de base de données, commencez avec ces 7 privilèges et testez-le à fond pour vous assurer que tout fonctionne comme prévu.
la source
Voici ce que le Codex a à dire sur la restriction des privilèges des utilisateurs de bases de données:
http://codex.wordpress.org/Hardening_WordPress
la source
En ce qui concerne la "note" dans le message de redburn, le codpress Wordpress contient également un avertissement à lire également concernant les mises à jour et les modifications du schéma de la base de données ...
(Edit: Je remarque cependant que JE NE VOIS PAS "GRANT" dans la liste des privilèges lors de la création ou de la mise à jour d'un utilisateur. Peut-être que "CREATE" devrait être ajouté à la liste? Quelqu'un a-t-il des informations à ce sujet? - à l'aide de Hostgator cPanel Mars 2016 -)
Codex: http://codex.wordpress.org/Hardening_WordPress
la source
Mon opinion est identique à celle de @EAMann ci-dessus, ainsi que des sources auxquelles il a fait référence: GRANT ALL est nécessaire pour garantir la fonctionnalité et la pérennité de votre site. Même sur un site de production, vous devrez vous en tenir au manuel d'utilisation.
En tant que contributeur de code pour le noyau WordPress et quelques plug-ins, je vous recommande de conserver les privilèges de base de données par défaut, comme indiqué dans le manuel d'utilisation (DONNER TOUT PRIVILÈGES SUR wpdatabasename. * TO "wordpressusername" @ "hostname").
Le code source WordPress (présent et futur) suppose que l'utilisateur de base de données WordPress dispose de tous les privilèges de base de données pour la base de données WordPress donnée. Si votre configuration manque de privilèges de base de données, vous pouvez rencontrer des problèmes lors de la mise à niveau de WordPress et de l'ajout de plug-ins.
Donc, vous ne devriez vraiment pas utiliser des privilèges de base de données différents des privilèges de base de données recommandés par défaut dans le manuel, à moins que vous ne sachiez ce que vous faites, avez des besoins très spécifiques et n'oubliez pas vos privilèges de base de données personnalisés.
La page du Codex a depuis été mise à jour et explique comment faire cela avec des exemples sur divers systèmes et des captures d'écran. https://codex.wordpress.org/Installing_WordPress#Step_2:_Create_the_Database_and_a_User
Création d'un nom de base de données et d'un utilisateur (via PHPMyAdmin): https://codex.wordpress.org/Installing_WordPress#Using_phpMyAdmin
Création d'un nom et d'un utilisateur de base de données (via le client de ligne de commande MySQL): https://codex.wordpress.org/Installing_WordPress#Using_the_MySQL_Client
la source