come accedere a mysql e interrogare il database dal terminale linux


104

Sto usando Debian Linux. Ho una macchina Linux su cui è installato mysql. Posso accedere alla mia macchina Linux utilizzando l'utente root e un altro utente. Posso connettermi al database mysql su una macchina Linux da una macchina Windows usando sqlyog. Ora voglio eseguire query sulla macchina Linux utilizzando solo il terminale Linux

Ho provato alcune cose seguenti sul terminale

Sono andato alla directory principale, quindi alla directory / var / lib

Eseguo i seguenti comandi sul terminale

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

ogni volta che ricevo il seguente messaggio di errore

ERRORE 1045 (28000) Accesso negato per l'utente 'root' @ 'localhost' (utilizzando la password NO)

per favore guidami per seguire

  1. Come ottengo il prompt di mysql nel terminale linux?
  2. Come fermo il server mysql dal terminale linux?
  3. Come avvio il server mysql dal terminale linux?
  4. Come ottengo il prompt di mysql nel terminale linux?
  5. Come si accede al server mysql dal terminale linux?
  6. Come risolvo l'errore seguente?

ERRORE 1045 (28000) Accesso negato per l'utente 'root' @ 'localhost' (utilizzando la password NO)

Per favore dammi soluzioni per la domanda di cui sopra. Grazie


1
Ogni volta che eseguo questo comando mysql -u root -p non mi chiede la password e ricevo il messaggio di errore "ERRORE 1045 (28000) Accesso negato per l'utente 'root' @ 'localhost' (utilizzando la password NO)" Un'altra domanda è dove eseguo il prompt dei comandi sopra riportato nella cartella principale o devo andare in una directory specifica. dammi il suo percorso. grazie!
Param-Ganak

Prova a modificare la sintassi del tuo comando, in questo modo: "mysql --user = root --password" (rimuovi le virgolette quando le digiti sulla riga di comando). Altrimenti, sembra piuttosto strano che non ti venga richiesta una password e sospetto che potrebbe esserci qualcos'altro al di fuori dell'ambito di mysql.
baraboom

Risposte:


180

1.- Come ottengo il prompt di mysql nel terminale linux?

mysql -u root -p

Al Enter password:prompt, beh, inserisci la password di root :)

È possibile trovare ulteriori riferimenti digitando mysql --helpo nel manuale in linea .

2. Come fermo il server mysql dal terminale linux?

Dipende. Le distribuzioni basate su Red Hat hanno il servicecomando:

service mysqld stop

Altre distribuzioni richiedono di chiamare direttamente lo script di inizializzazione:

/etc/init.d/mysqld stop

3. Come avvio il server mysql dal terminale linux?

Come il n. 2, ma con start.

4. Come ottengo il prompt di mysql nel terminale linux?

Uguale al n. 1.

5. Come si accede al server mysql dal terminale linux?

Uguale al n. 1.

6. Come risolvo l'errore seguente?

Uguale al n. 1.


10

Alla tua prima domanda:

mysql -u root -p

o

mysqladmin -u root -p "your_command"

a seconda di cosa vuoi fare. La password ti verrà chiesta una volta premuto invio! Immagino che tu voglia davvero usare mysql e non mysqladmin .

Per riavviare o arrestare il server MySQL su Linux, dipende dalla tua installazione, ma nei comuni derivati ​​Debian questo funzionerà per l'avvio, l'arresto e il riavvio del servizio:

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

In alcune distribuzioni più recenti questo potrebbe funzionare anche se MySQL è impostato come demone / servizio.

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

Ma è davvero impossibile rispondere alla domanda senza conoscere la tua particolare configurazione.


Ogni volta che eseguo questo comando mysql -u root -p non mi chiede la password e ricevo il messaggio di errore "ERRORE 1045 (28000) Accesso negato per l'utente 'root' @ 'localhost' (utilizzando la password NO)" un'altra domanda è dove
eseguo il

Non devi andare in una directory specifica. Puoi eseguirlo da qualsiasi luogo. Potresti incollare la risposta a uname -ae mysql --versione incollarli qui (inseriscili nel terminale). Potremmo probabilmente darti più aiuto allora. service mysql statussarebbe anche utile.
flindeberg

5

Presumo che tu stia cercando di utilizzare il client mysql, che è una buona cosa e molto più efficiente da usare rispetto a qualsiasi alternativa a phpMyAdmin.

Il modo corretto per accedere con il client della riga di comando è digitare:

mysql -u username -p

Notare che non ho digitato la password. In questo modo si renderebbe la password visibile sullo schermo, il che non va bene in ambienti multiutente!

Dopo aver digitato questo tasto invio, mysql ti chiederà la password.

Una volta effettuato l'accesso, ovviamente avrai bisogno di:

use databaseName;

fare qualsiasi cosa.

In bocca al lupo.


Ogni volta che eseguo questo comando mysql -u root -p non mi chiede la password e ricevo il messaggio di errore "ERRORE 1045 (28000) Accesso negato per l'utente 'root' @ 'localhost' (utilizzando la password NO)" Un'altra domanda è dove eseguo il prompt dei comandi sopra riportato nella cartella principale o devo andare in una directory specifica. dammi il suo percorso. grazie!
Param-Ganak

Su quale distribuzione Linux stai utilizzando?
stefgosselin

5

Al prompt dei comandi prova:

mysql -u root -p

fornire la password quando richiesto.


Ogni volta che eseguo questo comando mysql -u root -p non mi chiede la password e ricevo il messaggio di errore "ERRORE 1045 (28000) Accesso negato per l'utente 'root' @ 'localhost' (utilizzando la password NO)" Un'altra domanda è dove eseguo il prompt dei comandi sopra riportato nella cartella principale o devo andare in una directory specifica. dammi il suo percorso. grazie!
Param-Ganak

Dovresti essere in grado di eseguirlo dalla tua directory home purché il percorso sia configurato. Dovrebbe funzionare ...
quarkonium

4

Oggi ho avuto lo stesso identico problema sul mio ArchLinux VPS.

mysql -u root -psemplicemente non ha funzionato, mentre lo ha mysql -u root -pmypasswordfatto.

Si è scoperto che avevo un file di dispositivo / dev / tty danneggiato (molto probabilmente dopo un aggiornamento di udev), quindi mysql non poteva usarlo per un accesso interattivo.

Ho finito per rimuovere / dev / tty e ricrearlo con mknod /dev/tty c 5 1e chmod 666 /dev/tty. Questo ha risolto il problema di mysql e anche altri problemi.


Funziona davvero! Ora tutti possono vedere la password di root nella bash_history. : / Come sapevi che / dev / tty era incasinato?
user3870315

2

Per interrompere o avviare mysql sulla maggior parte dei sistemi Linux, dovrebbe funzionare quanto segue:

/etc/init.d/mysqld stop

/etc/init.d/mysqld start

Le altre risposte sembrano buone per accedere al client mysql dalla riga di comando.

In bocca al lupo!


2
  1. dovresti usare mysqlcommand. È un client a riga di comando per mysql RDBMS e viene fornito con la maggior parte delle installazioni mysql: http://dev.mysql.com/doc/refman/5.1/en/mysql.html

  2. Per arrestare o avviare il database mysql (raramente dovresti aver bisogno di farlo "a mano"), usa lo script di inizializzazione appropriato con stopo il startparametro, di solito /etc/init.d/mysql stop. Questo, tuttavia, dipende dalla tua distribuzione Linux. Alcune nuove distribuzioni incoraggiano lo service mysql startstile.

  3. Stai accedendo usando mysqlsql shell.

  4. L'errore arriva probabilmente perché il doppio parametro "-p". Puoi fornire -ppasswordo solo -pe ti verrà richiesta la password in modo interattivo. Si noti inoltre che alcune installazioni potrebbero utilizzare l'utente mysql (non root) come utente amministrativo. Controlla la configurazione di sqlyog per ottenere parametri di connessione funzionanti.


2

Prova "sudo mysql -u root -p" per favore.


2

In Ubuntu, tutto quello che devo fare è eseguire il sudo mysqlterminale GNOME e il gioco è fatto. Posso iniziare a creare database o eseguire query su dati in una tabella, ecc.


1

se non hai ancora accesso a db, 1. nel tuo messaggio di errore non è impostata alcuna password, giusto? quindi prima esegui mysqlpasswd 'username' dopo di che inserisci e poi dagli un nuovo tipo di password come richiesto e poi prova ad accedere di nuovo con mysql -p se sei root


1

se hai già effettuato l'accesso come root, basta

mysql -u root

la richiesta della password verrà restituita come errore


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.