Deux commandes mSQL permettent d'exporter des données.
· msqldump exporte la structure d'une ou de plusieurs tables et les données qu'elles contiennent sous la forme de requêtes SQL. Cette commande est particulièrement adaptée aux sauvegardes destinées à être réutilisées par mSQL ou par un autre système qui comprend SQL (ORACLE, etc.). En voici la syntaxe:
usage: msqldump [-h host] [-f conf] [-v] [-t] [-c] [-w where_clause] database [table] Produce an ASCII dump of a database table or an entire database
Utilisée telle quelle, cette commande imprime à l'écran le contenu d'une base de données ou d'une table. Pour récupérer ce résultat nous utilisons une redirection qui permet d'écrire l'output d'une commande dans un fichier. La redirection s'exprime avec le signe >. Dans l'exemple qui suit nous sauvons la base de données csre-info et écrivons le résultat de la commande dans un fichier qui s'appelle csre-info.backup. Ce fichier ne doit pas forçément préexister à l'utilisation de la commande. Son nom est à discretion de l'utilisateur et ne doit pas forçément porter l'extension .backup.
tecfasun2:~ 74) msqldump -h tecfasun1 csre-info > csre-info.backup
· msqlexport produit un fichier plat et permet à l'utilisateur de spécifier lui-même le format d'exportation, en particulier les séparateurs de champ et d'échappement des caractères spéciaux. Cette commande est particulièrement adaptée pour exporter les données en vue de les réutiliser avec un autre système. Elle ne permet d'exporter qu'une table à la fois. Voici la syntaxe:
usage: msqlexport [-h host] [-v] [-s Char] [-q Char] [-e Char] database table Produce an ASCII export of the table. -v Verbose -s Char Use the character Char as the separation character Default is a comma. -q Char Quote each value with the specified character -e Char Use the specifed Char as the escape character Default is \
Comme pour la commande msqldump, il faut récupérer le résultat de la commande en effectuant une redirection à l'aide du signe >. Voici un exemple qui sauve les données de la table edutech de la base de données tecfa dans un fichier nommé edutech.save. Le caractère { est utilisé comme séparateur de champ.
tecfasun2:~ 79) msqlexport -h tecfasun1 -s \{ tecfa edutech > edutech.save