łączenie się z MySQL z wiersza poleceń

225

Jak połączyć się z MySQL z wiersza poleceń na komputerze Mac? (tj. pokaż mi kod)

Robię samouczek PHP / SQL, ale zaczyna się od założenia, że ​​jesteś już w MySQL.

Leahcim
źródło

Odpowiedzi:

404

Zobacz tutaj http://dev.mysql.com/doc/refman/5.0/en/connecting.html

mysql -u USERNAME -pPASSWORD -h HOSTNAMEORIP DATABASENAME 

Powyższe opcje oznaczają:

-u: username
-p: password (**no space between -p and the password text**)
-h: host
last one is name of the database that you wanted to connect. 

Spójrz na link, jest tam szczegółowo opisany!


Jak już wspomniano przez Ricka , można uniknąć podania hasła jako części polecenia, nie przekazując hasła w ten sposób:

mysql -u USERNAME -h HOSTNAMEORIP DATABASENAME -p

Osoby edytujące tę odpowiedź: PROSZĘ NIE DODAWAĆ PRZESTRZENI między -piPASSWORD

Nishant
źródło
dziękuję, 2 pytania 1) czy musisz podać „-u” „-p” itp., czy te są zastąpione nazwą użytkownika itp. 2) jeśli nie ma utworzonej bazy danych, po prostu pozostaw to puste?
Leahcim
2
Możliwe jest skonfigurowanie uwierzytelnienia MySQL na podstawie zalogowanego użytkownika lub uwierzytelnienie go wcale, ale to nie jest dobry pomysł. Podanie hasła w wierszu polecenia stanowi nawet niewielkie zagrożenie bezpieczeństwa, ponieważ kończy się na poleceniu tabele historii i procesów. Jeśli pominiesz hasło, poprosi o to.
dj_segfault
@ Michael 1) zaktualizowano. WSZYSTKIE CAPSY należy zastąpić rzeczywistymi wartościami. zostaw -u, -p, -h jak to jest 2) tak. Po zalogowaniu wpisz show databaseslistę baz danych.
Nishant
3
@dj_segfault prawo. Jeśli więc odejdziesz, -pbez podania hasła, wyświetli się monit o podanie hasła.
Nishant
Jeśli nie masz obecnie utworzonej bazy danych, musisz użyć komendy mysqladmin, aby ją utworzyć. Ale wierzę, że podczas instalacji serwera tworzona jest domyślna baza danych „mysql”, która przechowuje wszystkie informacje o schemacie i uwierzytelnianiu. Możesz zalogować się do tego (jeśli masz wystarczające uprawnienia) i stamtąd tworzyć inne bazy danych.
dj_segfault
128

Najlepszą praktyką byłoby mysql -u root -p. Następnie MySQL wyświetli monit o podanie hasła po naciśnięciu klawisza Enter.

Stóg
źródło
25
Aby to rozwinąć, twoje hasło nie wyświetla się w .bash_history. Jeśli ktoś uzyska dostęp do $HOME(i tym samym .bash_history) dostępnej metody, na którą najczęściej głosowano, ma on również dane uwierzytelniające - przerażające! Tego rodzaju wtargnięcie może się zdarzyć (i tak się dzieje)
Jeremy,
Możesz wykonać polecenie bash bez niego bez pokazywania go w .bash_profie. Przeczytaj więcej tutaj: commandlinefu.com/commands/view/1512/…
Skid Kadda,
@Jeremy Nie tylko w, .bash_historyale także topi więcej narzędzi! Możesz nawet zabezpieczyć swoje pliki, po prostu udostępnij komputer innemu uprawnionemu użytkownikowi.
Melebius
+1, ponieważ moje hasło zawiera specjalne symbole i nie będzie analizowane, gdy będzie częścią polecenia, musi być wykonane osobno.
Jacksonkr,
10

Użyj następującego polecenia, aby połączyć się z bazą danych MySQL

mysql -u NAZWA UŻYTKOWNIKA -h NAZWA HOSTA -p

Swamy
źródło
9

Po uruchomieniu powłoki MySQL i zobaczeniu:

mysql-js>

Po pierwsze, powinieneś:

mysql-js>\sql

Po drugie:

 mysql-sql>\connect username@servername (root@localhost)

I w końcu:

Enter password:*********
Imię Nazwisko
źródło
3

Jednym ze sposobów bezpośredniego połączenia z MySQL przy użyciu prawidłowej nazwy użytkownika i hasła MySQL jest:

mysql --user=root --password=mypass

Tutaj,

root is the MySQL username
mypass is the MySQL user password

Jest to przydatne, jeśli masz puste hasło.

Na przykład, jeśli użytkownik MySQL jest wywoływany rootz pustym hasłem, po prostu użyj

mysql --user=root --password=
arsho
źródło
0

To działało dla mnie :: -

mysql --host=hostNameorIp --user=username --password=password  

lub

mysql --host=hostNameorIp --user=username --password=password database_name
Anand Tiwari
źródło