Ciągle otrzymuję ten błąd.
Używam MySQL Workbench iz tego, co odkryłem, wynika, że uprawnienia roota do schematu są zerowe. Nie ma żadnych przywilejów.
Mam problemy na różnych platformach, na których jest używany mój serwer, i to był nagły problem.
[email protected] najwyraźniej ma dużo dostępu, ale jestem zalogowany jako taki, ale i tak przypisuje to po prostu do localhost - localhost nie ma żadnych uprawnień.
Zrobiłem kilka rzeczy, jak FLUSH HOSTS
, FLUSH PRIVILEGES
itp, ale nie znalazły sukces z tego lub internecie.
Jak mogę odzyskać uprawnienia roota? Uważam to za frustrujące, ponieważ kiedy się rozglądam, ludzie oczekują, że będziesz „mieć dostęp”, ale ja nie mam dostępu, więc nie mogę wejść do wiersza poleceń ani nic, a GRANT
ja nic.
Podczas biegu SHOW GRANTS FOR root
otrzymuję w zamian:
Kod błędu: 1141. Nie ma takiego nadania zdefiniowanego dla użytkownika „root” na hoście „%”
źródło
SHOW GRANTS FOR root
zapytanie, opublikuj wynik w swoim pytaniu.Odpowiedzi:
Skorzystaj z instrukcji resetowania hasła roota - ale zamiast resetować hasło roota, będziemy wymuszać WSTAWIANIE rekordu do tabeli mysql.user
W pliku init użyj tego zamiast tego
źródło
"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\\Program Files\\MySQL\\MySQL Server 5.6\\my.ini" --init-file=C:\\mysql-init.txt
Wszystko jest tam, gdzie powinno być, a to, co masz powyżej, odpowiednio umieściłem w pliku. Zatrzymałem również usługę. Po prostu otrzymuję ten wynik: prntscr.com/1ilxau I wszystko (wtyczki) zamknięte. Naprawdę zagmatwane.ERROR 1054 (42S22): Unknown column 'Password' in 'field list'
błąd. @AndyJonesJeśli masz ten sam problem w MySql 5.7. +:
dzieje się tak dlatego, że MySql 5.7 domyślnie zezwala na połączenie z gniazdem, co oznacza, że po prostu łączysz się z
sudo mysql
. Jeśli używasz sql:wtedy to zobaczysz:
Aby umożliwić połączenie z rootem i hasłem, zaktualizuj wartości w tabeli poleceniem:
Następnie uruchom ponownie polecenie wyboru, a zobaczysz, że się zmieniło:
I to wszystko. Możesz uruchomić ten proces po uruchomieniu i wykonaniu
sudo mysql_secure_installation
polecenia.W przypadku mariadb użyj
ustawić hasło. Więcej na https://mariadb.com/kb/en/set-password/
źródło
auth_socket
domysql_native_password
rozwiązała mój problem. Dziękuję Ci!mysql_secure_installation
. Dziękuję bardzo za tę odpowiedź.Nie podobał mi się mój przywilej użytkownika, więc SUDO to. (w bash << sudo ustaw użytkownika i hasło) (daje to nazwę użytkownika root i ustawia hasło na nic) (na Macu)
źródło
Wypróbuj następujące polecenia
źródło
sudo mysqld_safe
dostałem to/var/run/mysqld for UNIX socket file don't exists
, potem pomkdir -p /var/run/mysqld
isudo chown -R mysql:mysql /var/run/mysqld/
zadziałało i uruchomiłem demona.dla osób, które napotykają poniższy błąd w wersji mysql 5.7+ -
Otwórz nowy terminal
sudo /etc/init.d/mysql stop
... MySQL Community Server 5.7.8-rc jest zatrzymanysudo mysqld_safe --skip-grant-tables &
spowoduje to pominięcie wszystkich uprawnień na poziomie i uruchomienie mysql w trybie awaryjnym Czasem proces utknął tylko z powodugrep: błąd zapisu: uszkodzony potok 180102 11:32:28 mysqld_safe Logowanie do „/var/log/mysql/error.log”.
Po prostu naciśnij Ctrl + Z lub Ctrl + C, aby przerwać i zakończyć proces
mysql -u root
Witamy w monitorze MySQL. Polecenia kończą się na; lub \ g. Twój identyfikator połączenia MySQL to 2 Wersja serwera: 5.7.8-rc MySQL Community Server (GPL)
Copyright (c) 2000, 2015, Oracle i / lub jej podmioty stowarzyszone. Wszelkie prawa zastrzeżone.
Oracle jest zastrzeżonym znakiem towarowym firmy Oracle Corporation i / lub jej podmiotów zależnych. Inne nazwy mogą być znakami towarowymi odpowiednich właścicieli.
Wpisz „pomoc”; lub „\ h” w celu uzyskania pomocy. Wpisz „\ c”, aby wyczyścić bieżącą instrukcję wejściową.
use mysql;
Odczytywanie informacji z tabeli w celu uzupełnienia nazw tabel i kolumn Możesz wyłączyć tę funkcję, aby przyspieszyć uruchamianie za pomocą -A
Baza danych została zmieniona
mysql>
update user set authentication_string=password('password') where user='root';
Zapytanie OK, dotyczy 4 wierszy, 1 ostrzeżenie (0,03 s) Pasujące wiersze: 4 Zmienione: 4 Ostrzeżenia: 1mysql>
flush privileges;
Zapytanie OK, dotyczy 0 wierszy (0,00 s)mysql> Do
quit
widzeniasudo /etc/init.d/mysql stop
..180102 11:37:12 mysqld_safe mysqld z pliku pid /var/run/mysqld/mysqld.pid zakończony. * MySQL Community Server 5.7.8-rc jest zatrzymany arif @ ubuntu: ~ $ sudo /etc/init.d/mysql start .. * MySQL Community Server 5.7.8-rc jest uruchomiony
mysql -u root -p
Wprowadź hasło:
Witamy w monitorze MySQL. Polecenia kończą się na; lub \ g. Twój identyfikator połączenia MySQL to 2 Wersja serwera: 5.7.8-rc MySQL Community Server (GPL)
po wersji mysql 5.7+ hasło kolumny zostało zastąpione nazwą authentication_string z tabeli mysql.user.
mam nadzieję, że te kroki pomogą każdemu, dzięki.
źródło
Używałem ubuntu 18 i po prostu zainstalowałem MySQL (hasło: root) za pomocą następujących poleceń.
Kiedy próbowałem zalogować się z normalnym użytkownikiem Ubuntu, rzucał mi ten problem.
Ale udało mi się zalogować do MySQL przez superużytkownika. Korzystając z następujących poleceń, mogłem zalogować się przez zwykłego użytkownika.
Wtedy powinieneś być w stanie zalogować się do MySQL za pomocą zwykłego konta.
źródło
Prosty sposób na zresetowanie hasła roota w systemach Linux:
Sprawdź inne powody odmowy dostępu:
https://dev.mysql.com/doc/refman/5.7/en/problems-connecting.html
źródło
Jeśli otrzymujesz ten błąd w Workbench, ale możesz zalogować się z terminala, wykonaj następujące kroki.
Najpierw zaloguj się przy użyciu aktualnego hasła:
Następnie zmień hasło, ponieważ posiadanie hasła o niskiej sile czasami powoduje błąd.
Następnie po prostu wyjdź i zaloguj się ponownie, używając nowego hasła:
Po pomyślnym zalogowaniu wpisz polecenie:
Powinien pokazać komunikat typu „Zmieniono bazę danych”, a następnie wpisać:
Po tym typie:
Następnie wpisz:
Następnie po prostu wyjdź:
Teraz spróbuj zalogować się przy użyciu nowego hasła w WORKBENCH. Mam nadzieję, że to zadziała. Dziękuję Ci.
źródło
Napotkałem ten problem podczas instalacji Testlink na serwerze Ubuntu, wykonałem następujące kroki
Teraz zatrzymaj instancję i zacznij od nowa, tj
źródło
Najłatwiejszym sposobem zresetowania hasła roota jest:
zrestartuj mysqld --skip-grant-table opcja . Dzięki temu każdy może łączyć się bez hasła i ze wszystkimi uprawnieniami. Ponieważ jest to niebezpieczne, możesz chcieć użyć --skip-grant-table w połączeniu z --skip-networking, aby uniemożliwić zdalnym klientom połączenie.
Połącz się z serwerem mysqld za pomocą tego polecenia:
shell> mysql Wydaj następujące instrukcje w kliencie mysql. Zastąp hasło hasłem, którego chcesz używać.
mysql> UPDATE mysql.user SET Password = PASSWORD ('MyNewPass') -> WHERE User = 'root'; mysql> UPRAWNIENIA FLUSH;
Zatrzymaj serwer, a następnie zrestartuj go normalnie (bez opcji --skip-grant-table i --skip-networking).
Dokumentacja źródłowa MySQL i osobiste doświadczenia:
http://dev.mysql.com/doc/refman/5.6/en/resetting-permissions.html
źródło
w mysql 5.7 pole hasła zostało zastąpione ciągiem uwierzytelniania, więc zamiast tego zrobiłbyś coś takiego
Zobacz ten link Baza danych użytkownika MySQL nie ma kolumn haseł - Instalowanie MySQL na OSX
źródło
Rozwiązałem ten sam problem, uruchamiając Workbench jako administrator.
... chyba z powodu ograniczeń na firmowych komputerach, w moim przypadku ...
źródło
Wypróbuj następujące kroki, aby rozwiązać ten problem:
mysqld --console
.171010 14:58:22 [Note] --secure-file-priv
jest ustawiona na NULL. Operacje związane z importem i eksportem danych są wyłączane po wykonaniu powyższego polecenia z wiersza poleceń.mysqld
jest zablokowany przez Zaporę systemu Windows lub inny program.mysqld
lubmysql
, wykonaj poniższe czynności:wf.msc
aby otworzyć ustawienia zapory.mysqld
lubmysqld
są dostępne na liście i zaznacz pole wyboru domeny, publicznej i prywatnej, a następnie zapisz ustawienia.Teraz powinno być możliwe bezproblemowe uruchomienie konsoli MySQL!
źródło
Rozwiązałem ten sam problem, używając następnego sql i restartując serwer MySQL:
źródło
Pracowałem nad Odmową dostępu dla użytkownika 'root' @ 'localhost' (używając hasła: TAK) przez kilka godzin, znalazłem następujące rozwiązanie,
źródło
Myślę, że nie musisz uciekać od
--init-file
parametru:"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\\Program Files\\MySQL\\MySQL Server 5.6\\my.ini" --init-file=C:\\mysql-init.txt
Powinien być:
"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\\Program Files\\MySQL\\MySQL Server 5.6\\my.ini" --init-file=C:\mysql-init.txt
źródło
dla powyższego problemu twoje hasło w systemie powinno być zgodne z hasłem podanym w programie, ponieważ po uruchomieniu programu sprawdza hasło systemowe, ponieważ podałeś roota jako użytkownik, więc daje błąd i jednocześnie rekord nie jest usuwany z bazy danych.
Zachowaj hasło systemowe ur jako jacob234, a następnie uruchom kod.
źródło
U mnie był ten sam problem, ale był on spowodowany, ponieważ korzystałem z serwera mysql na wersji 32 (bitowej), a Środowisko pracy działało na wersji 64 (bitowej). serwer i środowisko robocze muszą mieć tę samą wersję.
xpress
źródło
U mnie używałem MYSQLWorkbench, a portem był 3306 MAMP z 8889
źródło
Z tym samym problemem miałem do czynienia, gdy próbowałem połączyć się z bazą danych MySQL za pomocą aplikacji Laravel. Chciałbym polecić, sprawdź hasło użytkownika. Hasło MySQL nie powinno zawierać znaków specjalnych, takich jak # , & , itp ...
źródło