Wie führe ich den Befehl mysql vom Terminal aus aus?


23

Ich habe den folgenden SQL-Befehl, den ich normalerweise in phpmyadmin ausführe, indem ich die Datenbank auswähle und sie dann im Befehlsfenster ausführe.

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

Allerdings habe ich das noch nie über das Terminal gemacht. Meine Frage ist, wie kann ich diesen Befehl auf eine bestimmte Datenbank "verweisen" und dann ausführen?


1
Versuchen Sie es mysql -u root -p.
Mitch

1
Wie können Sie einen Befehl ausführen, ohne sich bei MySQL anzumelden? Zuerst müssen Sie sich im Terminal mit MySQL usernameund passwordBsp .: mysql -uroot -panmelden. Wenn Sie einmal angemeldet sind, wählen Sie Ihre Datenbank mit aus. use <yourdatabasenameDann können Sie diesen Befehl ausführen.
Saurav Kumar

Sie können die Datenbank auch wie DELETE FROM {databasename}.wp_posts WHERE folgt vor die Tabelle stellen: post_type` = "attachment" `
Rinzwind

Antworten:


33

Damit Sie es vom Terminal ausführen können, müssen Sie zuerst bei mysql angemeldet sein und dann Ihr Programm ausführen. Der ideale Code wäre

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

Ich bin mir sicher, dass dies funktioniert, hoffe es hilft


2
Sie müssen die Backticks mit \ umgehen, wenn Sie von einem normalen Terminal ausführen
myol

13

Ich denke, Sie haben Ihren Benutzernamen für mySQL vergessen. Bitte geben Sie den richtigen Benutzernamen und das richtige Passwort ein, wenn Sie den Befehl mysql eingeben. für zB

$ mysql   -u  root   -p 
Enter Password:

Hinweis: Der Standardbenutzername und das Standardkennwort lauten root


1
Standard root-Zugriff benötigen sudo,sudo mysql -u root -p
Peter Krauss

Standard root-Zugriff benötigen sudo,sudo mysql -u root -p
Peter Krauss

9

Geben Sie einfach den folgenden Befehl im Terminal ein, um den MySQL-Interpreter zu verwenden:

mysql -u root -p datenbankname

Geben Sie Ihr Passwort ein, dann können Sie Ihre MySQL-Befehle ausführen.

Ein anderer Weg ist:

mysql -u root -p datenbankname << eof
DELETE FROM `wp_posts` WHERE` post_type` = "attachment"
eof

4

Versuche dies:

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

1

Verwendung des MySQL CLI-Clients.

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

Beachten Sie, dass ich -uund Benutzername verwende, aber in -pnichts einstelle. MySQL wird Sie nach Ihrem Passwort fragen.

Und wenn Sie versuchen, es inline zu verwenden, können Sie es verwenden

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

Beachten Sie hier, dass ich auch -eArgument verwende. Es steht für Ausführen .

Profi-Tipp

Im MySQL-Client können Sie Folgendes verwenden:

mysql> show databases;

Wenn Sie alle Datenbankdateien auf Ihrem Server anzeigen möchten. Und Sie können verwenden:

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

Wenn Sie alle Tabellen in einer Datenbank anzeigen möchten.

Ich benutze $und mysql>als Eingabeaufforderungen, $meint Ihr Linux-Terminal und mysql>MySQL-Client.


-1

Es gibt eine Reihe von Schritten, um MySQL unter Linux Ubuntu Terminal auszuführen.

  1. Führen Sie den MySQL-Client mit dem folgenden Befehl aus: mysql -u root -p
  2. Es ist wichtig, zuerst eine neue Datenbank mit dem folgenden Befehl zu erstellen: create database demo_db;
  3. Dann müssen Sie die Datenbank mit dem folgenden Befehl autorisieren: grant all on demo_db.* to ‘testuser’ identified by ‘12345’;
  4. Melden Sie sich dann über die Datenbank selbst mit dem folgenden Befehl an: mysql -u testuser -p
  5. Anschließend können Sie mit den eigentlichen SQL-Befehlen beginnen.

Ich habe auf den Artikel http://www.codingalpha.com/run-mysql-database-linux-ubuntu/ verwiesen, in dem die perfekten Schritte zur Ausführung von MySQL unter Linux Ubuntu erklärt wurden! Hoffe, ich habe Ihr MySQL perfekt zum Laufen gebracht.


1
Bitte beachten Sie, dass dies mysqlder Client und nicht der Server ist. Überprüfen Sie vor dem Starten des Clients, ob der Server ausgeführt wird, indem Sie ihn ausstellen. sudo status mysqlWenn er nicht ausgeführt wird, starten Sie ihn mit sudo start mysql.
Guss

-2

Okay, im Grunde war es "SELECT Datenbankname"; dann meinen Befehl ausführen.


1
Sie können den Datenbanknamen auch in der Befehlszeile angeben, z. B. mysql -u root -p databasename- Passwort eingeben, wenn Sie dazu aufgefordert werden und die Datenbank verwenden.
David Purdue
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.