As instruções curtas de instalação do WordPress ( "5 minutos" ) afirmam que:
Crie um banco de dados para o WordPress em seu servidor web, bem como um usuário do MySQL que tenha todos os privilégios para acessá-lo e modificá-lo.
Ao configurar um novo blog profissionalmente, fiquei pensando como isso é mapeado para o que a configuração de privilégios / permissões de usuário do banco de dados MySQL me oferece:
- Dados:
SELECT
,INSERT
,UPDATE
,DELETE
- Definição:
CREATE
,ALTER
,DROP
- Extra:
INDEX
- Mais:
LOCK TABLES
REFERENCES
CREATE TEMPORARY TABLES
CREATE VIEW
SHOW VIEW
CREATE ROUTINE
EXECUTE
ALTER ROUTINE
Tenho certeza de que, nos três primeiros grupos, os nomeiei Dados, Definição e Extra aqui. Mas e os outros abaixo da entrada Mais ? Normalmente eu diria que isso não é necessário, mas eu gostaria de ter uma segunda opinião.
"Todos os privilégios" geralmente significa que você deve dar tudo de bom para o usuário. Contudo ...
Encontrei pelo menos um artigo que afirma que o usuário do MySQL só precisa:
Indo mais fundo , descobri que, para operar totalmente (atualizações automatizadas, instalação / desinstalação de plug-ins etc.), o WordPress requer algumas permissões adicionais:
Além disso, não é referenciado, mas faz sentido:
Mas essas são as únicas duas referências sólidas que posso encontrar apoiadas por opiniões postadas em outros lugares. Eu ainda o encorajo a continuar com GRANT ALL, mas se você absolutamente deve limitar o uso do seu banco de dados, comece com esses 7 privilégios e faça o teste completo para garantir que as coisas funcionem conforme o esperado.
fonte
Aqui está o que o Codex tem a dizer sobre a restrição de privilégios de usuário do banco de dados:
http://codex.wordpress.org/Hardening_WordPress
fonte
Em relação à "Nota" no post de redburn, o Wordpress Codex também possui um Aviso que você também deve ler sobre atualizações e alterações de esquema do banco de dados ...
(Editar: notei, no entanto, que NÃO VEJO "CONCESSÃO" na lista de privilégios ao criar ou atualizar um usuário. Talvez "CREATE" deva ser adicionado à lista? Alguém tem informações sobre isso? - usando Hostgator cPanel , Março de 2016 -)
Codex: http://codex.wordpress.org/Hardening_WordPress
fonte
Minha opinião é a mesma do @EAMann acima, bem como as fontes que ele referenciou: GRANT ALL é necessário para garantir que seu site seja funcional e à prova de futuro. Mesmo em um local de produção, você deve tentar seguir o manual do usuário.
Como alguém que contribui com o código para o núcleo do WordPress e alguns plug-ins, recomendo que você mantenha os privilégios de banco de dados padrão, conforme sugerido no manual do usuário (CONCEDE TODOS OS PRIVILÉGIOS NO wpdatabasename. * TO "wordpressusername" @ "hostname").
O código-fonte do WordPress (presente e futuro) pressupõe que o usuário do banco de dados do WordPress tenha todos os privilégios de banco de dados para o banco de dados WordPress fornecido. Se sua configuração perder algum privilégio de banco de dados, você poderá encontrar problemas ao atualizar o WordPress e adicionar mais plug-ins.
Portanto, você realmente não deve usar privilégios de banco de dados diferentes dos privilégios de banco de dados padrão recomendados pelo manual, a menos que saiba o que está fazendo, tenha necessidades muito específicas e não esqueça que possui privilégios de banco de dados personalizados.
A página do Codex foi atualizada sobre como fazer isso com exemplos em vários sistemas e capturas de tela. https://codex.wordpress.org/Installing_WordPress#Step_2:_Create_the_Database_and_a_User
Criando um nome e um usuário do Databse (via PHPMyAdmin): https://codex.wordpress.org/Installing_WordPress#Using_phpMyAdmin
Criando um nome e um usuário do Databse (via cliente de linha de comando MySQL): https://codex.wordpress.org/Installing_WordPress#Using_the_MySQL_Client
fonte