Avatar billede fredand Forsker
06. september 2007 - 21:05 Der er 6 kommentarer og
1 løsning

How to dump a Mysql with ANT to a file?

Hello!

I manage to dump a database to a file if I from the cmd write:
mysqldump -u root -pmy_pass --database howto > howto.sql

This creates a file like below:
-- MySQL dump 10.10
--
-- Host: localhost    Database: howto
-- ------------------------------------------------------
-- Server version    5.0.15-nt

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Current Database: `howto`
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `howto` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `howto`;

--
-- Table structure for table `pages`
--

DROP TABLE IF EXISTS `pages`;
CREATE TABLE `pages` (
  `id` int(11) NOT NULL,
  `name` varchar(100) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Dumping data for table `pages`
--


/*!40000 ALTER TABLE `pages` DISABLE KEYS */;
LOCK TABLES `pages` WRITE;
INSERT INTO `pages` VALUES (0,'Test Name');
UNLOCK TABLES;
/*!40000 ALTER TABLE `pages` ENABLE KEYS */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

But when I run this ANT target below:
    <target description="Export the database howto" name="export">
        <exec executable="mysqldump">
          <arg line="-u root -pmy_pass --database howto > howto.sql"/>
        </exec>
    </target>

Then all output gets written to the cmd and not to the file.

Do I miss anything?

Best regards
Fredrik
Avatar billede arne_v Ekspert
06. september 2007 - 21:17 #1
proev:

cmd /c mysqldump ... > howto.sql
Avatar billede arne_v Ekspert
06. september 2007 - 21:19 #2
eller brug -r fremfor >
Avatar billede fredand Forsker
07. september 2007 - 10:36 #3
Hello Arne!
Thanks for your reply but I'm not sure I follow.

(Right now I'm not at home so I cant try)
But do you mena taht in my ANT target I should do something like:

<arg line="-u root -pmy_pass --database howto > -r howto.sql"/>

Best regards
Fredrik
Avatar billede arne_v Ekspert
08. september 2007 - 02:15 #4
<arg line="-u root -pmy_pass --database howto -r howto.sql"/>
Avatar billede arne_v Ekspert
08. september 2007 - 02:16 #5
eller

        <exec executable="cmd">
          <arg line="/c mysqldump -u root -pmy_pass --database howto > howto.sql"/>
        </exec>
Avatar billede fredand Forsker
11. september 2007 - 21:56 #6
Works fine!

please give svar so a can reward you mate!!

/Fredrik
Avatar billede arne_v Ekspert
11. september 2007 - 22:14 #7
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester