5.3.2. mysqldump

Las dos opciones anteriores representan copias binarias de la base de datos. El comando mysqldump, en cambio, realiza un volcado de las bases de datos pero traduciéndolas a SQL; es decir, entrega un archivo de texto con todos los comandos necesarios para volver a reconstruir las bases de datos, sus tablas y sus datos. Es el método más útil para copiar o distribuir una base de datos que deberá almacenarse en otros servidores.
$ mysqldump demo > demo.sql
El comando mysqldump ofrece multitud de parámetros para modificar su comportamiento  o  el  tipo  de  volcado  generado:  por  defecto,  genera  sentencias SQL, pero puede generar ficheros de datos tipo CSV u otros formatos. También podemos especificarle que haga el volcado de todas las bases de datos o que sólo vuelque los datos y no la creación de las tablas, etc.

Las primeras líneas del archivo demo.sql según el ejemplo anterior tendrían el siguiente aspecto:
~$ mysqldump demo | head -25 -- MySQL dump 8.21 -- -- Host: localhost Database: demo --------------------------------------------------------- -- Server version 3.23.49-log -- -- Table structure for table ´ganancia´ -- DROP TABLE IF EXISTS ganancia; CREATE TABLE ganancia ( venta enum(´Por mayor´,´Por menor´) default NULL, factor decimal(4,2) default NULL ) TYPE=MyISAM; -- Dumping data for table ´ganancia´ -- INSERT INTO ganancia VALUES (´Por mayor´,1.05); INSERT INTO ganancia VALUES (´Por menor´,1.12);-- La ventaja de utilizar mysqldump es que permite que los archivos puedan ser leídos (y modificados) en un simple editor de textos, y pueden ser utilizados para migrar la información a otro SGBD que soporte SQL. Además soporta todos los tipos de tablas. La desventaja es que su procesamiento es lento y los archivos que se obtienen son muy grandes.