Jak uruchomić polecenie mysql z terminala?

23

Mam następującą komendę SQL, którą zwykle uruchamiam w phpmyadmin, wybierając bazę danych, a następnie uruchamiając ją w oknie komend.

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

Jednak nigdy wcześniej nie robiłem tego za pośrednictwem terminala. Moje pytanie brzmi: jak „wskazać” to polecenie konkretnej bazie danych, a następnie uruchomić?

jc.yin
źródło
1
Spróbować mysql -u root -p.
Mitch
1
Jak uruchomić dowolne polecenie bez logowania do MySQL? Najpierw w terminalu musisz się zalogować za pomocą MySQL usernamei passwordnp .: mysql -uroot -pnastępnie po zalogowaniu wybierz bazę danych za pomocą, use <yourdatabasenamea następnie możesz uruchomić to polecenie.
Saurav Kumar,
Możesz także umieścić bazę danych przed tabelą w następujący sposób: DELETE FROM {databasename}.wp_posts WHERE post_type` = "załącznik" `
Rinzwind
Zobacz także powiązane pytanie: askubuntu.com/q/1077725/295286
Sergiy Kolodyazhnyy,

Odpowiedzi:

33

Aby uruchomić go z terminala, musisz najpierw zalogować się do mysql, a następnie uruchomić program. Idealny kod byłby

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

Jestem pewien, że to działa, mam nadzieję, że to pomoże

sosytee
źródło
2
Musisz uciekać przed backtickami, używając \, jeśli wykonujesz je z normalnego terminala
myol
13

Myślę, że zapomniałeś swojej nazwy użytkownika dla mySQL. więc wpisz poprawną nazwę użytkownika i hasło po wpisaniu polecenia mysql. na przykład

$ mysql   -u  root   -p 
Enter Password:

Uwaga: Domyślna nazwa użytkownika i hasło to root

Ashish Saini
źródło
1
Domyślny dostęp roota wymaga sudo,sudo mysql -u root -p
Peter Krauss
Domyślny dostęp roota wymaga sudo,sudo mysql -u root -p
Peter Krauss
9

Wystarczy wpisać następujące polecenie w terminalu, aby użyć interpretera mysql:

mySql -u root'a -p database

Wprowadź hasło, a następnie będziesz mógł uruchamiać komendy mysql.

Innym sposobem jest użycie:

mysql -u roota -p database_name << EOF
USUŃ Z `wp_posts` GDZIE` post_type` = "załącznik"
eof
Radu Rădeanu
źródło
4

Spróbuj tego:

mysql --host *HOST_IP* --user *USER* --password=*PASSWORD* -D *DATABASE_NAME* -e "DELETE FROM `wp_posts` WHERE `post_type` = "attachment" ;
tej18
źródło
1

Korzystanie z klienta CLI MySQL.

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

Zauważ, że używam -ui nazwy użytkownika, ale w -pnic nie ustawiam. MySQL poprosi o podanie hasła.

A jeśli próbujesz użyć go bezpośrednio, możesz użyć

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

Zauważ, że używam również -eargumentu. To oznacza wykonanie .

Pro wskazówka

W kliencie MySQL możesz użyć:

mysql> show databases;

jeśli chcesz wyświetlić wszystkie bazy danych na swoim serwerze. I możesz użyć:

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

jeśli chcesz wyświetlić wszystkie tabele w bazie danych.

Używam $i mysql>jako podpowiedzi, $oznacza twój terminal Linux i mysql>klienta MySQL.

Juanjo Salvador
źródło
-1

Istnieje szereg kroków do wykonania MySQL w Linux Ubuntu Terminal.

  1. Uruchom klienta MySQL za pomocą następującego polecenia: mysql -u root -p
  2. Ważne jest, aby najpierw utworzyć nową bazę danych za pomocą polecenia: create database demo_db;
  3. Następnie musisz autoryzować bazę danych za pomocą polecenia: grant all on demo_db.* to ‘testuser’ identified by ‘12345’;
  4. Następnie zaloguj się z samej bazy danych za pomocą polecenia: mysql -u testuser -p
  5. Następnie możesz zacząć od rzeczywistych poleceń SQL.

Odniosłem się do artykułu http://www.codingalpha.com/run-mysql-database-linux-ubuntu/, w którym wyjaśniono doskonałe kroki do wykonania MySQL w systemie Linux Ubuntu! Mam nadzieję, że Twój MySQL działa idealnie.

Parag Vidhate
źródło
1
Pamiętaj, że mysqlto klient, a nie serwer. Przed uruchomieniem klienta sprawdź, czy serwer działa, wydając go, sudo status mysqla jeśli nie jest uruchomiony, uruchom go sudo start mysql.
Guss,
-2

Ok, w zasadzie był to „SELECT databasename;” następnie wykonując moje polecenie.

jc.yin
źródło
1
Możesz także podać nazwę bazy danych w wierszu poleceń, na przykład mysql -u root -p databasename- wprowadź hasło po wyświetleniu monitu i korzystasz z bazy danych.
David Purdue,