jak zalogować się do mysql i wysyłać zapytania do bazy danych z terminala linux

104

Używam Debiana Linux. Mam komputer z systemem Linux, na którym jest zainstalowany mysql. Mogę zalogować się do mojego komputera z systemem Linux zarówno za pomocą użytkownika root, jak i innego użytkownika. Mogę połączyć się z bazą danych mysql na komputerze z systemem Linux z komputera z systemem Windows za pomocą narzędzia sqlyog. Teraz chcę wykonywać zapytania na komputerze z systemem Linux tylko przy użyciu terminala linux

Wypróbowałem kilka rzeczy na terminalu

Poszedłem do katalogu głównego, a następnie do katalogu / var / lib

Uruchamiam następujące polecenia na terminalu

mysqladmin -u root -p
mysqladmin -u root -ppassword

za każdym razem, gdy otrzymuję następujący komunikat o błędzie

BŁĄD 1045 (28000) Odmowa dostępu dla użytkownika „root” @ „localhost” (przy użyciu hasła NIE)

poprowadź mnie do śledzenia

  1. Jak uzyskać podpowiedź mysql w terminalu linux?
  2. Jak zatrzymać serwer mysql przed linux terminalem?
  3. Jak uruchomić serwer mysql z terminala linux?
  4. Jak uzyskać podpowiedź mysql w terminalu linux?
  5. Jak zalogować się do serwera mysql z terminala linux?
  6. Jak rozwiązać następujący błąd?

BŁĄD 1045 (28000) Odmowa dostępu dla użytkownika „root” @ „localhost” (przy użyciu hasła NIE)

Proszę o odpowiedź na powyższe pytanie. Dziękuję Ci

Param-Ganak
źródło
1
Za każdym razem, gdy uruchamiam to polecenie mysql -u root -p, nie pyta mnie o hasło i pojawia się komunikat o błędzie „ERROR 1045 (28000) Odmowa dostępu dla użytkownika 'root' @ 'localhost' (używając hasła NIE)” Inne pytanie dotyczy tego, gdzie czy uruchomić powyższy wiersz polecenia w folderze głównym, czy też muszę przejść do określonego katalogu. daj mi jego ścieżkę. Dziękuję Ci!
Param-Ganak
Spróbuj zmienić składnię polecenia, na przykład: „mysql --user = root --password” (usuń cudzysłowy, gdy wpiszesz je w wierszu poleceń). W przeciwnym razie wydaje się dość dziwne, że nie pojawia się monit o podanie hasła i podejrzewam, że może być coś innego poza zakresem mysql.
baraboom

Odpowiedzi:

180

1. - Jak uzyskać znak zachęty mysql w terminalu linux?

mysql -u root -p

Po Enter password:monicie wprowadź hasło roota :)

Więcej informacji można znaleźć pisząc na komputerze mysql --helplub w instrukcji online .

2. Jak zatrzymać serwer mysql przed linux terminalem?

To zależy. Dystrybucje oparte na Red Hat mają servicepolecenie:

service mysqld stop

Inne dystrybucje wymagają bezpośredniego wywołania skryptu inicjującego:

/etc/init.d/mysqld stop

3. Jak uruchomić serwer mysql z terminala linux?

To samo co # 2, ale z start.

4. Jak uzyskać zachętę mysql w terminalu linux?

To samo co # 1.

5. Jak zalogować się do serwera mysql z terminala linux?

To samo co # 1.

6. Jak rozwiązać następujący błąd?

To samo co # 1.

Álvaro González
źródło
10

Na pierwsze pytanie:

mysql -u root -p

lub

mysqladmin -u root -p "your_command"

w zależności od tego, co chcesz zrobić. Po naciśnięciu Enter zostaniesz poproszony o hasło! Domyślam się, że naprawdę chcesz używać mysql, a nie mysqladmin .

W przypadku ponownego uruchomienia lub zatrzymania serwera MySQL w systemie Linux zależy to od instalacji, ale w typowych pochodnych Debiana będzie to działać w przypadku uruchamiania, zatrzymywania i ponownego uruchamiania usługi:

sudo /etc/init.d/mysql start
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql restart
sudo /etc/init.d/mysql status

W niektórych nowszych dystrybucjach może to działać również, jeśli MySQL jest skonfigurowany jako demon / usługa.

sudo service mysql start
sudo service mysql stop
sudo service mysql restart
sudo service mysql status

Ale odpowiedź na to pytanie jest naprawdę niemożliwa bez znajomości konkretnej konfiguracji.

flindeberg
źródło
Za każdym razem, gdy uruchamiam to polecenie mysql -u root -p, nie pyta mnie o hasło i pojawia się komunikat o błędzie „ERROR 1045 (28000) Odmowa dostępu dla użytkownika 'root' @ 'localhost' (używając hasła NIE)” inne pytanie dotyczy tego, gdzie czy uruchamiam powyższy wiersz polecenia głównego w folderze głównym, czy też muszę przejść do określonego katalogu, podaj mi jego ścieżkę, dziękuję
Param-Ganak
Nie musisz iść do określonego katalogu. Możesz go uruchomić z dowolnego miejsca. Mógłbyś wkleić odpowiedź uname -ai mysql --versioni wkleić je tutaj (wystarczy wpisać je w terminalu). Prawdopodobnie moglibyśmy wtedy udzielić ci większej pomocy. service mysql statusbyłoby również pomocne.
flindeberg
5

Zakładam, że chcesz użyć klienta mysql, który jest dobrą rzeczą i znacznie wydajniejszy w użyciu niż jakiekolwiek alternatywy phpMyAdmina.

Prawidłowym sposobem logowania się za pomocą klienta wiersza poleceń jest wpisanie:

mysql -u username -p

Uwaga Nie wpisałem hasła. Mogłoby to spowodować wyświetlenie hasła na ekranie, co nie jest dobre w środowisku wielu użytkowników!

Po wpisaniu tego naciśnięcia klawisza enter, mysql zapyta Cię o hasło.

Po zalogowaniu będziesz oczywiście potrzebować:

use databaseName;

robić cokolwiek.

Powodzenia.

stefgosselin
źródło
Za każdym razem, gdy uruchamiam to polecenie mysql -u root -p, nie pyta mnie o hasło i pojawia się komunikat o błędzie „ERROR 1045 (28000) Odmowa dostępu dla użytkownika 'root' @ 'localhost' (używając hasła NIE)” Inne pytanie dotyczy tego, gdzie czy uruchomić powyższy wiersz polecenia w folderze głównym, czy też muszę przejść do określonego katalogu. daj mi jego ścieżkę. Dziękuję Ci!
Param-Ganak
Na jakiej dystrybucji Linuksa używasz?
stefgosselin
5

W wierszu polecenia spróbuj:

mysql -u root -p

podaj hasło po wyświetleniu monitu.

kwarkonium
źródło
Za każdym razem, gdy uruchamiam to polecenie mysql -u root -p, nie pyta mnie o hasło i pojawia się komunikat o błędzie „ERROR 1045 (28000) Odmowa dostępu dla użytkownika 'root' @ 'localhost' (używając hasła NIE)” Inne pytanie dotyczy tego, gdzie czy uruchomić powyższy wiersz polecenia w folderze głównym, czy też muszę przejść do określonego katalogu. daj mi jego ścieżkę. Dziękuję Ci!
Param-Ganak
Powinieneś być w stanie uruchomić go z katalogu domowego, o ile masz skonfigurowaną ścieżkę. Powinno działać ...
kwarkonium
4

Miałem dzisiaj dokładnie ten sam problem z moim ArchLinux VPS.

mysql -u root -ppo prostu nie działało, mysql -u root -pmypasswordale tak.

Okazało się, że mam uszkodzony plik urządzenia / dev / tty (najprawdopodobniej po aktualizacji udev), więc mysql nie może go użyć do interaktywnego logowania.

Skończyło się na usunięciu / dev / tty i odtworzeniu go za pomocą mknod /dev/tty c 5 1i chmod 666 /dev/tty. To rozwiązało problem mysql i kilka innych problemów.

user789877
źródło
To faktycznie działa! Teraz jednak każdy może zobaczyć hasło roota w bash_history. : / Skąd wiedziałeś, że / dev / tty jest pomieszane?
user3870315
2

Aby zatrzymać lub uruchomić mysql w większości systemów linuxowych, powinno działać:

/etc/init.d/mysqld stop

/etc/init.d/mysqld start

Inne odpowiedzi wyglądają dobrze przy dostępie do klienta mysql z wiersza poleceń.

Powodzenia!

baraboom
źródło
2
  1. powinieneś użyć mysqlpolecenia. Jest to klient wiersza poleceń dla mysql RDBMS i jest dostarczany z większością instalacji mysql: http://dev.mysql.com/doc/refman/5.1/en/mysql.html

  2. Aby zatrzymać lub uruchomić bazę danych mysql (rzadko trzeba to robić ręcznie) , zwykle użyj odpowiedniego skryptu startowego z parametrem stoplub . Zależy to jednak od dystrybucji Linuksa. Niektóre nowe dystrybucje zachęcają do stylu.start/etc/init.d/mysql stopservice mysql start

  3. Logujesz się przy użyciu mysqlpowłoki sql.

  4. Błąd pojawia się prawdopodobnie z powodu podwójnego parametru „-p”. Możesz podać -ppasswordlub tylko, -pa zostaniesz poproszony o hasło interaktywnie. Należy również zauważyć, że niektóre instalacje mogą używać użytkownika mysql (nie root) jako użytkownika administracyjnego. Sprawdź konfigurację sqlyog, aby uzyskać działające parametry połączenia.

cezio
źródło
2

Spróbuj "sudo mysql -u root -p".

Udi
źródło
2

W Ubuntu wszystko, co muszę zrobić, to uruchomić sudo mysqlterminal GNOME i to wszystko. Potrafię tworzyć bazy danych lub przeszukiwać dane w tabeli itp.

Pranav
źródło
1

jeśli nadal nie masz dostępu do bazy danych, 1. w komunikacie o błędzie ur nie ustawiono hasła, prawda? następnie najpierw wykonaj mysqlpasswd 'username', a następnie wprowadź ponownie hasło, zgodnie z żądaniem, a następnie spróbuj ponownie uzyskać dostęp za pomocą mysql -p, jeśli jesteś rootem

user2807050
źródło
1

jeśli jesteś już zalogowany jako root

mysql -u root

monit o podanie hasła w przeciwnym razie zwróci błąd

maioman
źródło
0

użyj tego „mysql -uroot -pPassword”

vadiraj jahagirdar
źródło