Chcę zacząć pisać zapytania w MySQL.
show grants
przedstawia:
+--------------------------------------+
| Grants for @localhost |
+--------------------------------------+
| GRANT USAGE ON *.* TO ''@'localhost' |
+--------------------------------------+
Nie mam identyfikatora użytkownika, ale kiedy chcę utworzyć użytkownika, nie mam uprawnień, a także nie wiem, jak nadać uprawnienia, nawet jeśli nie mam jednego użytkownika!
mysql> CREATE USER 'parsa'@'localhost' IDENTIFIED BY 'parsa';
ERROR 1227 (42000): Access denied; you need (at least one of) the CREATE USER pr
ivilege(s) for this operation
Próbowałem zalogować się jako root:
mysql> mysql -u root -p;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'mysql
-u root -p' at line 1
mysql> mysql -u root -p root;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'mysql
-u root -p root' at line 1
root
powinien zostać utworzony podczas instalacji MySQL.mysql -u root -p
. Uruchamiając . Wtedy będziesz mieć pełne uprawnienia na serwerze bazy danych i możesz tworzyć innych użytkowników.Odpowiedzi:
Nie, powinieneś uruchamiać się
mysql -u root -p
w bashu, a nie w wierszu poleceń MySQL. Jeśli jesteś w mysql, możesz wyjść, wpisując exit .źródło
Może być konieczne skonfigurowanie konta root dla bazy danych MySQL:
W typie terminala:
A następnie, aby wywołać klienta MySQL:
źródło
Przywiózł mnie tu inny problem. Za każdym razem, gdy próbowałem się zalogować, otrzymywałem tę wiadomość, ponieważ zamiast poprawnie uwierzytelnić, zalogowałem się jako użytkownik anonimowy. Rozwiązaniem mojego problemu było:
Aby zobaczyć, którym jesteś użytkownikiem i czyim masz uprawnienia:
Aby usunąć nieznośnego anonimowego użytkownika:
źródło
Ma to coś wspólnego z uprawnieniami użytkownika. Udzielenie odpowiednich dotacji rozwiąże ten problem.
Krok [1]: Otwórz terminal i uruchom to polecenie
Wyjście [1]: To powinno dać ci znak zachęty mysql pokazany poniżej
Krok 2]:
Składnia:
Krok [3]: Wyjdź z aktualnego znaku zachęty mysql, wpisując
quit
/exit
command lub naciskającCtrl+D
.Krok [4]: Zaloguj się do nowego użytkownika
Krok [5]: Utwórz bazę danych
źródło
CREATE USER 'parsa'@'localhost' IDENTIFIED BY 'your_password';
pojawia się błąd: ERROR 1227 (42000): Odmowa dostępu; potrzebujesz (przynajmniej jednego) uprawnienia (ów) UTWÓRZ UŻYTKOWNIKA do tej operacjiMożesz wypróbować pełne polecenie logowania:
gdzie byłby gospodarz
127.0.0.1
.Zrób to tylko po to, aby mieć pewność, że współpraca istnieje.
Używanie
mysql -u root -p
pozwala mi dużo przeszukiwać bazy danych, ale odmawia tworzenia bazy danych z powodu ustawienia ścieżki.źródło
Po pierwsze, jeśli nie znasz wiersza poleceń, spróbuj użyć phpmyadmin ze swojej przeglądarki internetowej. Zapewni to, że faktycznie masz utworzoną bazę danych mysql i nazwę użytkownika.
Oto jak łączysz się z linii poleceń (bash):
Na przykład:
źródło
-p
służy jako hasło i używasz go do przekazywania nazwy bazy danych. Ponadto w przypadku hasła nie powinno być spacji czarno-białej-p
ani rzeczywistego hasła. Służy-D
do łączenia się z określoną bazą danych.Jeśli jesteś w
MySQL
powłoce, zamknij ją, wpisując exit , co spowoduje powrót do wiersza poleceń.Teraz zacznij
MySQL
od użycia dokładnie następującego polecenia:Jeśli Twoja nazwa użytkownika jest inna niż root, zamień „root” w powyższym poleceniu na swoją nazwę użytkownika:
Następnie zapyta Cię o
MySQL
konto / hasło, aMySQL
następnie nie pokaże żadnego problemu z uprawnieniami dostępu.źródło
@Nickparsa… masz 2 problemy:
1).
mysql -uroot -p
powinno być wpisane w bash (znany również jako terminal), a nie w wierszu poleceń MySQL. Możesz naprawić ten błąd, wpisującw wierszu poleceń MySQL. Teraz jesteś z powrotem w linii poleceń bash / terminalu.
2). Masz błąd składni:
średnik przed -p musi zostać zakończony. Prawidłowa składnia to:
wpisz poprawną składnię w linii poleceń bash. Wprowadź hasło, jeśli masz ustawione; w przeciwnym razie po prostu naciśnij przycisk Enter. Powinieneś otrzymać odpowiedź podobną do tej:
Mam nadzieję że to pomoże!
źródło
Większość programistów loguje się do serwera (zakładam, że masz nazwę użytkownika i hasło do bazy danych mysql), a następnie z Bash przełączają się
mysql> prompt
i używają poniższego polecenia (które nie działaTo, co należy zrobić, to użyć powyższego polecenia w zachęcie basha -> gdy to zrobisz, poprosi o hasło, jeśli zostanie podane, przejdzie bezpośrednio do zachęty mysql i
następnie baza danych, tabela może być utworzona pojedynczo
Miałem podobny impas, więc dzieląc się tym doświadczeniem
źródło
Polecenie było poprawne zgodnie z powyższymi odpowiedziami. Brakowało mi w Workbenchu, gdzie wspominamy o „Ogranicz łączność z hosta” dla użytkownika, domyślnie jest to „%” - zmień to na „localhost”, a potem będzie się dobrze łączyć!
źródło