Krótka instrukcja instalacji dla WordPress ( „5 minut” ) stwierdza, że:
Utwórz bazę danych WordPress na swoim serwerze internetowym, a także użytkownika MySQL, który ma wszystkie uprawnienia do dostępu i modyfikowania go.
Podczas profesjonalnego zakładania nowego bloga zastanawiałem się, jak to odwzorowuje to, co oferuje mi konfiguracja uprawnień / uprawnień użytkownika bazy danych MySQL:
- Dane:
SELECT
,INSERT
,UPDATE
,DELETE
- Definicja:
CREATE
,ALTER
,DROP
- Dodatkowy:
INDEX
- Więcej:
LOCK TABLES
REFERENCES
CREATE TEMPORARY TABLES
CREATE VIEW
SHOW VIEW
CREATE ROUTINE
EXECUTE
ALTER ROUTINE
Jestem prawie pewien, że pierwsze trzy grupy nadałem im nazwę Dane, Definicja i Dodatkowe. Ale co z pozostałymi poniżej wpisu Więcej ? Zwykle powiedziałbym, że nie są potrzebne, ale chciałbym uzyskać drugą opinię.
„Wszystkie uprawnienia” zwykle oznaczają, że powinieneś udostępnić wszystko użytkownikowi. Jednak ...
Znalazłem co najmniej jeden artykuł, który twierdzi, że użytkownik MySQL potrzebuje tylko:
Wnikając głębiej , odkryłem, że aby w pełni działać (automatyczne aktualizacje, instalacja / dezinstalacja wtyczki itp.), WordPress wymaga dodatkowych uprawnień:
Poza tym nie ma odniesienia, ale ma to sens:
Ale to jedyne dwa solidne odniesienia, które mogę znaleźć, które są poparte opiniami zamieszczonymi gdzie indziej. Nadal zachęcam do trzymania się GRANT ALL, ale jeśli absolutnie musisz ograniczyć użycie DB, zacznij od tych 7 uprawnień i przetestuj w pełni, aby upewnić się, że wszystko działa zgodnie z oczekiwaniami.
źródło
Oto, co Codex ma do powiedzenia na temat ograniczania uprawnień użytkownika bazy danych:
http://codex.wordpress.org/Hardening_WordPress
źródło
Jeśli chodzi o „notatkę” w poście redburn, Wordpress Codex ma również Ostrzeżenie, które powinieneś przeczytać również o aktualizacjach i zmianach schematu bazy danych ...
(Edycja: Zauważyłem jednak, że NIE WIDUJĘ „GRANT” na liście uprawnień podczas tworzenia lub aktualizacji użytkownika. Być może należy dodać „CREATE” do listy? Czy ktoś ma informacje na ten temat? - używając Hostgator cPanel , Marzec 2016 r. -)
Kodeks: http://codex.wordpress.org/Hardening_WordPress
źródło
Moja opinia jest taka sama jak powyżej @EAMann, a także źródła, do których się odwoływał: GRANT ALL jest niezbędny, aby zapewnić funkcjonalność i bezpieczeństwo witryny. Nawet w zakładzie produkcyjnym powinieneś spróbować trzymać się instrukcji obsługi.
Jako ktoś, kto wnosi kod do rdzenia WordPress i kilku wtyczek, zalecam zachowanie domyślnych uprawnień do DB, zgodnie z sugestią zawartą w instrukcji użytkownika (UDZIEL WSZYSTKICH UPRAWNIEŃ NA wpdatabasename. * TO „wordpressusername” @ „nazwa hosta”).
Kod źródłowy WordPress (zarówno obecny, jak i przyszły) zakłada, że użytkownik DB WordPress ma wszystkie uprawnienia DB dla danej bazy danych WordPress. Jeśli w konfiguracji brakuje jakichkolwiek uprawnień DB, możesz napotkać problemy podczas aktualizacji WordPressa i dodawania kolejnych wtyczek.
Tak więc naprawdę nie powinieneś używać uprawnień DB innych niż domyślne uprawnienia DB zalecane w instrukcji, chyba że wiesz, co robisz, masz bardzo specyficzne potrzeby i nie zapomnisz, że masz niestandardowe uprawnienia DB.
Od tego czasu strona Kodeksu została zaktualizowana o tym, jak to zrobić za pomocą przykładów na różnych systemach i zrzutach ekranu. https://codex.wordpress.org/Installing_WordPress#Step_2:_Create_the_Database_and_a_User
Tworzenie nazwy i użytkownika bazy danych (przez PHPMyAdmin): https://codex.wordpress.org/Installing_WordPress#Using_phpMyAdmin
Tworzenie nazwy i użytkownika bazy danych (za pomocą klienta wiersza poleceń MySQL): https://codex.wordpress.org/Installing_WordPress#Using_the_MySQL_Client
źródło