Recherche de site Web

Comment exécuter des requêtes MySQL/MariaDB directement à partir de la ligne de commande Linux


Si vous êtes en charge de la gestion d'un serveur de base de données, vous devrez peut-être de temps en temps exécuter une requête et l'inspecter attentivement. Bien que vous puissiez le faire à partir du shell MySQL/MariaDB, cette astuce vous permettra d'exécuter les requêtes MySQL/MariaDB directement à l'aide de la ligne de commande Linux ET d'enregistrer la sortie dans un fichier pour une inspection ultérieure (ceci est particulièrement utile si la requête renvoie de nombreux enregistrements).

Examinons quelques exemples simples d'exécution de requêtes directement à partir de la ligne de commande avant de pouvoir passer à une requête plus avancée.

Pour afficher toutes les bases de données sur votre serveur, vous pouvez exécuter la commande suivante :


mysql -u root -p -e "show databases;"

Ensuite, pour créer une table de base de données nommée tutorials dans la base de données tecmintdb, exécutez la commande ci-dessous :


mysql -u root -p -e "USE tecmintdb; CREATE TABLE tutorials(tut_id INT NOT NULL AUTO_INCREMENT, tut_title VARCHAR(100) NOT NULL, tut_author VARCHAR(40) NOT NULL, submissoin_date DATE, PRIMARY KEY (tut_id));"

Nous allons utiliser la commande suivante et diriger la sortie vers la commande tee suivie du nom de fichier où nous voulons stocker la sortie.

Lecture suggérée : 20 commandes MySQL/MariaDB pour l'administration de bases de données sous Linux

A titre d'illustration, nous utiliserons une base de données nommée employés et une simple jointure entre les tables employés et salaires. Dans votre propre cas, tapez simplement la requête SQL entre les guillemets et appuyez sur Entrée.

Notez que vous serez invité à saisir le mot de passe de l'utilisateur de la base de données :


mysql -u root -p -e "USE employees; SELECT DISTINCT A.first_name, A.last_name FROM employees A JOIN salaries B ON A.emp_no = B.emp_no WHERE hire_date < '1985-01-31';" | tee queryresults.txt

Affichez les résultats de la requête à l'aide de la commande cat.


cat queryresults.txt

Avec les résultats de la requête dans des fichiers texte brut, vous pouvez traiter les enregistrements plus facilement à l'aide d'autres utilitaires de ligne de commande.

Résumé

Nous avons partagé plusieurs conseils Linux que vous, en tant qu'administrateur système, pourriez trouver utiles pour automatiser vos tâches Linux quotidiennes ou les exécuter plus facilement.

Lecture suggérée : Comment sauvegarder et restaurer des bases de données MySQL/MariaDB

Avez-vous d’autres conseils que vous aimeriez partager avec le reste de la communauté ? Si tel est le cas, veuillez le faire en utilisant le formulaire de commentaires ci-dessous.

Sinon, n'hésitez pas à nous faire part de votre avis sur l'ensemble des conseils que nous avons examinés, ou sur ce que nous pouvons ajouter ou éventuellement faire pour améliorer chacun d'entre eux. Nous avons hâte d'avoir de tes nouvelles!