4.1 : Mysqladmin
https://dev.mysql.com/doc/refman/5.5/en/mysqladmin.html
Présentation
mysqladmin est un utilitaire pour exécuter des commandes d'administration. Vous pouvez l'utiliser pour vérifier la configuration du serveur, créer et effacer des bases, etc.
Syntaxe
La syntaxe de mysqladmin est :
shell> mysqladmin [OPTIONS] command [command-option] command ...
Commandes
Le mysqladmin actuel supporte les commandes suivantes : shutdown
Eteint le serveur.
ping
Vérifie si mysqld fonctionne ou pas.
version
Affiche la version du serveur.
password new-password
Spécifie un nouveau mot de passe. Modifie l'ancien mot de passe en new-password pour le compte que vous utilisez lors de la connexion avec mysqladmin.
create databasename
Crée une nouvelle base.
drop databasename
Efface une base et toutes ces tables.
variables
Affiche les variable disponibles.
extended-status
Affiche un message de statut du serveur très complet.
flush-hosts
Vide tous les hôtes mis en cache.
flush-logs
Vide de la mémoire tous les logs.
flush-privileges
Recharger les tables de droits (identique à la commande reload).
flush-status
Remet à zéro les variables de statut.
flush-tables
Vide de la mémoire toutes les tables.
flush-threads
Vide les threads de cache. Nouveau en MySQL 3.23.16.
kill id, id,...
Termine un thread MySQL.
processlist
Affiche la liste des processus du serveur. Cela revient à la commande SHOW PROCESSLIST.
Si --verbose est utilisé, le résultat est le même que SHOW FULL PROCESSLIST.
reload
Recharge les tables de droits.
refresh
Vide de la mémoire toutes les tables, puis ferme et réouvre les fichiers de logs.
slave-start
Démarre l'esclave de réplication.
status
Affiche le message de statut court du serveur.
slave-stop
Eteint l'esclave de réplication.
4.2 : La calculette mysql
https://dev.mysql.com/doc/refman/5.5/en/mysql.html
Présentation
La calculette mysql est l’utilitaire qui permet d’exécuter toutes les commandes SQL.
Syntaxe
La syntaxe de mysql est :
shell> mysql [dbname] [–option] [-option] [...]
dbname pour se connecter directement à une base de données (équivalent d’un USE).
Options
-u username ou --user=username
spécifier le nom d’utilisateur
-p pwd ou --password=pwd
spécifier le nom d’utilisateur
-h hote ou --host=hote
spécifier le nom de l’hôte du serveur
-? ou --help
afficher l’aide -t
résultats sous forme de tableau (défaut) -H
résultats sous forme de tableau HTML -X
résultats en XML -E
résultats sous forme verticale (liste : mode « \G » par défaut) -B
version « batch » : il n’y a de résultats que pour les « select ». Les résultats sont des tableaux avec tabulations entre les champs.
database
mysql se connecte directement dans la database (fait un use database).
> toto.txt
idem que le précédent, mais les résultats des « select » vont dans le fichier toto.txt qu’on pourra ouvrir avec EXCEL.
< toto.txt
exécute le contenu du fichier dans myql
-e « requête »
exécute une requête et quitte mysql
Utiliser un fichier contenant des commandes, produire des résultats dans un fichier Dans l’OS:
C :> mysql dbname < fichier.sql –u user –p
La commande exécute les commandes contenues dans le fichier puis quitte mysql.
Mysql rentre directement dans la BD dbname.
Les résultats s’affiche à l’écran
On peut aussi renvoyer les résultats dans un fichier :
C :> mysql dbname < fichier.sql >resultat.txt –u user –p
A partir de mysql :
mysql> source fichier.sql
ou bien
mysql> \. fichier.sql
Exercice
Chargez la BD BiblioInnoDB.
Ecrivez un script qui fait un select des livres avec les œuvres.
En ligne de commande, récupérer le résultat du scipt dans un fichier « résultat.txt ».
Exporter les données à partir de MySQL : SELECT … INTO OUTFILE
mysql> SELECT * INTO OUTFILE ‘c:/dept.csv’
fields terminated by ‘,’
FROM dept;
Le fichier sera un .csv exploitable sous Excel, par exemple.
Chemin absolu
mysql> SELECT * INTO OUTFILE ‘c:/dept.csv’
fields terminated by ‘,’
FROM dept;
Chemin relatif : DATADIR
mysql> SELECT * INTO OUTFILE ‘./dept.csv’
fields terminated by ‘,’
FROM dept;
Chemin relatif : DATADIR / BDused
mysql> SELECT * INTO OUTFILE ‘dept.csv’
fields terminated by ‘,’
FROM dept;
Exercice
Chargez la BD BiblioInnoDB.
Exporter un select des livres avec les œuvres dans un fichier csv appelé livres.csv. Ouvrez le avec Excel ou un équivalent.
Importer les données à partir de MySQL : LOAD DATA INFILE
mysql> LOAD DATA INFILE ‘c:/dept.csv’ INTO TABLE dept fields terminated by ‘,’;
http://dev.mysql.com/doc/refman/5.0/fr/load-data.html
On peut importer des données en précisant le format de séparation des champs.
Par exemple: les fichiers “csv” produit par Excel utilisent la virgule comme séparateur.
Attention :
La table correspondant au fichier importé doit avoir le même schéma que celle dans laquelle les tuples sont insérés.
Chemin absolu
mysql> LOAD DATA INFILE ‘c:/dept.csv’ INTO TABLE dept fields terminated by ‘,’;
Chemin relatif : DATADIR
mysql> LOAD DATA INFILE ‘./dept.csv’ INTO TABLE dept fields terminated by ‘,’;
Chemin relatif : DATADIR / BDused
mysql> LOAD DATA INFILE ‘dept.csv’ INTO TABLE dept fields terminated by ‘,’;
Chemin relatif : DATADIR / BD au choix
mysql> LOAD DATA INFILE ‘./empdept/dept.csv’ INTO TABLE dept fields terminated by ‘,’;
Avec les options REPLACE ou IGNORE, quand une donnée rentre avec une clé primaire existant déjà, elle remplacera l’ancienne ou elle sera ignorée. Sinon, l’opération s’arrête en erreur.
LOAD DATA INFILE ‘nomFichier’ REPLACE INTO TABLE nomTableOUTFILE