Mysql:mysql
Aller à la navigation
Aller à la recherche
| Fiche express | |
|---|---|
| Type | Client MySQL en ligne de commande |
| Voir aussi | Mysql:GRANT · Mysql:show |
Mysql:mysql regroupe des exemples d'utilisation du client en ligne de commande mysql pour exécuter des requêtes depuis un script shell.
Syntaxe
mysql -h hôte -u utilisateur -p[mot_de_passe] [base] -e "requête" mysql -h hôte -u utilisateur -p[mot_de_passe] [base] < fichier.sql
-h: hôte du serveur MySQL-u: utilisateur-p: mot de passe (collé directement après-p, sans espace)-e: exécute une requête SQL et quitte-D: sélectionne la base (équivalent au nom de base en dernier argument positionnel)-B: sortie au format tabulaire (batch)-N: masque l'en-tête de colonnes-s: mode silencieux-t: force l'affichage en tableau (utile via un pipe SSH, qui ne détecte pas un terminal interactif)
Exemples
Exécuter une requête sur une base précise
mysql -h ip_serveur -u root -p<mot_de_passe> -D nom_base -B -e "SELECT colonne FROM table"
Équivalent en se connectant d'abord puis en changeant de base avec --exec :
mysql -h ip_serveur -u root -p<mot_de_passe> -B --exec="connect nom_base; SELECT colonne FROM table"
Rejouer un script SQL
mysql -u utilisateur -h ip_serveur -p<mot_de_passe> nom_base < script.sql
Forcer un affichage tabulaire à travers un tunnel SSH
ssh serveur "mysql -u utilisateur -p<mot_de_passe> -t -e 'SELECT * FROM table'"
Masquer le mot de passe dans la commande
Passer le mot de passe en clair sur la ligne de commande l'expose dans l'historique du shell et dans la liste des processus (ps aux). Sur les serveurs Plesk, le mot de passe root MySQL est stocké dans un fichier lisible uniquement par root, ce qui permet de l'injecter sans le taper :
mysql -u admin -p`cat /etc/psa/.psa.shadow`
Plus généralement, préférer un fichier ~/.my.cnf (chmod 600) contenant une section [client] avec user=/password=, ou l'invite interactive (-p sans valeur, saisie au clavier).
Voir aussi
- Mysql:GRANT — création de comptes et droits d'accès
- Mysql:show — commandes
SHOW - Mysql — panorama général MySQL/MariaDB