web-dev-qa-db-fra.com

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

J'ai la commande suivante SQL que je lance 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 la suivante: comment "pointer" cette commande vers une base de données spécifique puis l'exécuter?

21
jc.yin

Pour que vous puissiez l’exécuter depuis un terminal, vous devez d’abord être connecté à mysql, puis vous exécutez 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 ça marche, j'espère que ça aide

28
sosytee

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

$ mysql   -u  root   -p 
Enter Password:

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

11
Ashish Saini

Il suffit de taper la commande suivante dans terminal pour utiliser l'interpréteur mysql:

mysql -u root -p nom de la base de données

Entrez votre mot de passe, vous pourrez alors exécuter vos commandes mysql.

Une autre façon consiste à utiliser:

mysql -u root -p nom de la base de données << eof 
 SUPPRIMER DE `wp_posts` WHERE` post_type` = "attachment" 
 eof
7
Radu Rădeanu

Essaye ça:

mysql --Host *Host_IP* --user *USER* --password=*PASSWORD* -D *DATABASE_NAME* -e "DELETE FROM `wp_posts` WHERE `post_type` = "attachment" ;
2
tej18

Utilisation du client MySQL CLI.

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

Notez que j'utilise -u et le nom d'utilisateur, mais dans -p, je ne mets 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, remarquez que j'utilise aussi l'argument -e. Il représente execute .

Pro tip

Dans le client MySQL, vous pouvez utiliser:

mysql> show databases;

si vous voulez voir toutes les dabatases sur votre serveur. Et vous pouvez utiliser:

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

si vous voulez voir toutes les tables dans une base de données.

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

1
Juanjo Salvador