Comment exécuter la commande mysql à partir du terminal?

23

J'ai la commande sql suivante que j'exécute habituellement dans phpmyadmin en sélectionnant la base de données, puis en l'exécutant dans la fenêtre de commande.

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

Cependant, je n'ai jamais fait cela via un terminal auparavant. Ma question est de savoir comment "pointer" cette commande vers une base de données spécifique, puis l'exécuter?

jc.yin
la source
1
Essayez mysql -u root -p.
Mitch
1
Comment pouvez-vous exécuter n'importe quelle commande sans vous connecter à MySQL? Tout d'abord dans le terminal, vous devez vous connecter en utilisant MySQL usernameet passwordEg: mysql -uroot -ppuis une fois connecté, sélectionnez votre base de données en utilisant use <yourdatabasenamepuis vous pouvez exécuter cette commande.
Saurav Kumar
Vous pouvez également mettre la base de données devant la table comme ceci: DELETE FROM {databasename}.wp_posts WHERE post_type` = "attachment" `
Rinzwind
Voir aussi la question connexe: askubuntu.com/q/1077725/295286
Sergiy Kolodyazhnyy

Réponses:

33

Pour que vous puissiez l'exécuter à partir du terminal, vous devez d'abord être connecté à mysql, puis exécuter votre programme. Le code idéal serait

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

Je suis sûr que cela fonctionne, j'espère que cela aide

sosytee
la source
2
Vous devez échapper aux backticks en utilisant \ si vous exécutez depuis un terminal normal
myol
13

Je pense que vous avez oublié votre nom d'utilisateur pour mySQL. veuillez donc saisir le nom d'utilisateur et le mot de passe corrects lorsque vous tapez la commande mysql. par exemple

$ mysql   -u  root   -p 
Enter Password:

Remarque: le nom d'utilisateur et le mot de passe par défaut sont root

Ashish Saini
la source
1
L'accès root par défaut a besoin de sudo,sudo mysql -u root -p
Peter Krauss
L'accès root par défaut a besoin de sudo,sudo mysql -u root -p
Peter Krauss
9

Tapez simplement la commande suivante dans le terminal pour utiliser l'interpréteur mysql:

mysql -u root -p nom_base de données

Entrez votre mot de passe, puis vous pouvez exécuter vos commandes mysql.

Une autre façon consiste à utiliser:

mysql -u root -p nom_base de données << eof
SUPPRIMER DE `wp_posts` OERE` post_type` = "pièce jointe"
eof
Radu Rădeanu
la source
4

Essaye ça:

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

Utilisation du client CLI MySQL.

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

Notez que j'utilise -uet nom d'utilisateur, mais dans -pje ne configure rien. MySQL vous demandera votre mot de passe.

Et si vous essayez de l'utiliser en ligne, vous pouvez utiliser

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

Ici, notez que j'utilise également l' -eargument. Il signifie exécuter .

Conseil de pro

Dans le client MySQL, vous pouvez utiliser:

mysql> show databases;

si vous souhaitez afficher toutes les bases de données de votre serveur. Et vous pouvez utiliser:

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

si vous souhaitez afficher toutes les tables dans une base de données.

J'utilise $et mysql>comme invites, $signifie votre terminal Linux et le mysql>client MySQL.

Juanjo Salvador
la source
-1

Il existe une série d'étapes pour exécuter MySQL dans Linux Ubuntu Terminal.

  1. Exécutez le client MySQL à l'aide de la commande suivante: mysql -u root -p
  2. Il est important de créer d'abord une nouvelle base de données à l'aide de la commande: create database demo_db;
  3. Ensuite, vous devez autoriser la base de données à l'aide de la commande: grant all on demo_db.* to ‘testuser’ identified by ‘12345’;
  4. Connectez-vous ensuite à partir de la base de données elle-même à l'aide de la commande: mysql -u testuser -p
  5. Ensuite, vous pouvez réellement commencer avec les commandes SQL réelles.

J'ai fait référence à l'article http://www.codingalpha.com/run-mysql-database-linux-ubuntu/ où ils ont expliqué les étapes parfaites pour exécuter MySQL dans Linux Ubuntu! J'espère que votre MySQL fonctionne parfaitement.

Parag Vidhate
la source
1
Veuillez noter qu'il mysqls'agit du client et non du serveur. Avant de démarrer le client, vérifiez que le serveur fonctionne en émettant sudo status mysqlet s'il ne fonctionne pas, démarrez-le avec sudo start mysql.
Guss
-2

D'accord, c'était "SELECT databasename;" puis j'exécute ma commande.

jc.yin
la source
1
Vous pouvez également spécifier le nom de la base de données sur la ligne de commande, par exemple mysql -u root -p databasename- saisir le mot de passe lorsque vous y êtes invité et vous utilisez la base de données.
David Purdue