Come eseguire il comando mysql dal terminale?


23

Ho il seguente comando sql che di solito eseguo in phpmyadmin selezionando il database, quindi eseguendolo nella finestra di comando.

DELETE FROM `wp_posts` WHERE `post_type` = "attachment"

Tuttavia non l'ho mai fatto tramite terminale prima. La mia domanda è: come "puntare" questo comando a un database specifico e quindi eseguirlo?


1
Prova mysql -u root -p.
Mitch

1
Come puoi eseguire qualsiasi comando senza accedere a MySQL? Prima nel terminale devi effettuare il login usando MySQL usernameed passwordEg: mysql -uroot -ppoi una volta effettuato l'accesso seleziona il tuo database utilizzando use <yourdatabasenamequindi puoi eseguire questo comando.
Saurav Kumar,

Puoi anche mettere il database davanti alla tabella in questo modo: DELETE FROM {databasename}.wp_posts WHERE post_type` = "allegato" `
Rinzwind

Vedi anche la domanda correlata: askubuntu.com/q/1077725/295286
Sergiy Kolodyazhnyy

Risposte:


33

Per eseguirlo dal terminale, è necessario prima accedere a mysql e quindi eseguire il programma. Il codice ideale sarebbe

mysql -u(username) -p(password) (the name of the database) -e "DELETE FROM `wp_posts` WHERE `post_type` = "attachment""

Sono sicuro che funzioni, spero che sia d'aiuto


2
Devi sfuggire ai backtick usando \ se
esegui

13

Penso che tu abbia dimenticato il tuo nome utente per mySQL. quindi inserisci il nome utente e la password corretti quando digiti il ​​comando mysql. per es

$ mysql   -u  root   -p 
Enter Password:

Nota: nome utente e password predefiniti sono root


1
L'accesso di root predefinito richiede sudo,sudo mysql -u root -p
Peter Krauss,

L'accesso di root predefinito richiede sudo,sudo mysql -u root -p
Peter Krauss,

9

Basta digitare il seguente comando nel terminale per usare l'interprete mysql:

mysql -u -p radice database_name

Immettere la password, quindi è possibile eseguire i comandi mysql.

Un altro modo è usare:

mysql -u -p radice database_name << eof
ELIMINA DA `wp_posts` DOVE` post_type` = "allegato"
eof

4

Prova questo:

mysql --host *HOST_IP* --user *USER* --password=*PASSWORD* -D *DATABASE_NAME* -e "DELETE FROM `wp_posts` WHERE `post_type` = "attachment" ;

1

Utilizzando il client CLI MySQL.

$ mysql -u <user> -p
mysql> use <your-database>
mysql> DELETE FROM `wp_posts` WHERE `post_type` = "attachment"

Si noti che sto usando -ue nome utente, ma in -pnon sto impostando nulla. MySQL ti chiederà la password.

E se stai cercando di usarlo in linea, puoi usarlo

$ mysql -u <user> -p <your-database> -e "DELETE FROM `wp_posts` WHERE `post_type` = 'attachment'"

Qui, nota che sto usando anche -eargomento. Sta per eseguire .

Suggerimento professionale

Nel client MySQL è possibile utilizzare:

mysql> show databases;

se si desidera visualizzare tutte le dabatasi nel proprio server. E puoi usare:

mysql> use <database>;
mysql> show tables;

se si desidera visualizzare tutte le tabelle in un database.

Sto usando $e mysql>come prompt, $significa il tuo terminale Linux e mysql>, client MySQL.


-1

Esistono una serie di passaggi per eseguire MySQL in Linux Ubuntu Terminal.

  1. Eseguire il client MySQL usando il comando seguente: mysql -u root -p
  2. È importante creare prima un nuovo database utilizzando il comando: create database demo_db;
  3. Quindi devi autorizzare il database usando il comando: grant all on demo_db.* to ‘testuser’ identified by ‘12345’;
  4. Quindi accedere dal database stesso utilizzando il comando: mysql -u testuser -p
  5. Quindi, puoi effettivamente iniziare con i comandi SQL effettivi.

Ho fatto riferimento all'articolo http://www.codingalpha.com/run-mysql-database-linux-ubuntu/ dove hanno spiegato i passaggi perfetti per eseguire MySQL in Linux Ubuntu! Spero che il tuo MySQL funzioni perfettamente.


1
Si noti che mysqlè il client e non il server. Prima di avviare il client, verificare che il server sia in esecuzione emettendo sudo status mysqle se non è in esecuzione, avviarlo con sudo start mysql.
Guss,

-2

Okay fondamentalmente era "SELECT databasename;" quindi eseguendo il mio comando.


1
È inoltre possibile specificare il nome del database sulla riga di comando, ad esempio mysql -u root -p databasename- immettere la password quando richiesto e si sta utilizzando il database.
David Purdue,
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.