Przychodzę z następnym pytaniem.
Chcąc wyrzucić użytkownika root, stworzyłem innego o nazwie "example" i przyznałem mu wszystkie uprawnienia oraz ustawiłem hasło.
Wylogowałem się z root i zalogowałem na example. Wszystko OK, mogę dalej edytować konta uzytkowników, przeglądać bazę itd.
Ale, po usunięciu konta "root" i przeładowaniu strony nie mam dostępu do kont użytkowników.
Mam informację:
"Wybrany użytkownik nie został znaleziony w tabeli uprawnień." oraz " Za małe uprawnienia do przeglądania użytkowników.".
Dlaczego? Skoro użytkownik example ma WSZYSTKIE uprawnienia?
Po dodaniu uprawnień do użytkownika wydałeś komendę:
FLUSH PRIVILEGES;
RENAME USER 'root'@'localhost' TO 'nowanazwauzytkownika'@'localhost';
Zmieniłem nazwę użytkownika, wyskoczyło, że nie wybrano baz danych a potym znowu "za małe uprawnienia do przegladania użytkowników". Mimo, iż ma wszystkie opcje zaznaczone.
zaloguj się do mariaDB, wydaj polecenia:
Wykonałem polecenia. To musi być problem z bazą danych, Spróbuję zainstalować serwer na czystej maszynie a jak to nie pomoże to zamienić mariadb na mysql. Ta baza danych, nie dość, że się wysypuje po zatrzymaniu usługi (ruletka, za którym razem) to jeszcze po wykonaniu
mówi, że nie wybrano żadnej bazy danych. A zmieniając uprawnienia root'a, widzę tą samą komendę.
GRANT ALL PRIVILEGES ON *.* TO 'devuser'@localhost IDENTIFIED BY 'pass';
Tylko podstawowe pytanie po co chcesz zmieniać użytkownika? Tak jak ktoś wspomniał lepiej użyć RENAME. A też nie spotkałem się żeby ktoś usuwał roota i nawet nie wiem czy mysql pozwala na to. Nawet w dokumentacji nie mogę nic o tym znaleźć.
Jeśli masz komunikat że nie wybrano żadnej bazy to ją wybierz a następnie dodaj uprawnienia, bazę wybiera się komendą
Ja również nie polecam zmiany/usuwania root.
Mogą być potem komplikacaje.
Lepiej dodaż użytkownika do danej bazy z osobna, a dla konta root ustawić bardzo silen hasło, minimu 20 znaków kombinacyjnych/
Do danej bazy możesz też przypisać użytkownika który będzie wykonywał tylko odpytania a nie będzie mógł dokonać żadnych zmian w danej bazie/
Proponuję wyłączyć logowanie na roota z poza lokalnej maszyny.
DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1'); FLUSH PRIVILEGES;
DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1'); FLUSH PRIVILEGES;
Po to masz opcję w my.cnf skip-networking + ewentualnie odpowiednie reguły na firewall. Tak myślałem że chcesz przekombinować.
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)