我的mysql数据库中有两个名为 test_proc1 和 test_proc2 的程序。我想导出这两个程序的代码,但我找到了导出的文件中没有任何内容,我不知道为什么。下面是我的问题的详细说明:
1.程序 test_proc1 的代码:
DELIMITER $$
USE `testmanagementb`$$
DROP PROCEDURE IF EXISTS `test_proc1`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `test_proc1`()
BEGIN
SELECT * FROM system_users;
END$$
DELIMITER ;
2.程序 test_proc2 的代码:
DELIMITER $$
USE `testmanagementb`$$
DROP PROCEDURE IF EXISTS `test_proc2`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `test_proc2`()
BEGIN
SELECT * FROM testcase_node;
END$$
DELIMITER ;
3.用于导出过程的命令(数据库名称为 testmanagementb ):
mysqldump -u root -p -ntdR testmanagementb > procs.sql
4.导出的结果如下:
-- MySQL dump 10.11
--
-- Host: localhost Database: testmanagementb
-- ------------------------------------------------------
-- Server version 5.0.51b-community-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 */;
--
-- Dumping routines for database 'testmanagementb'
--
DELIMITER ;;
/*!50003 DROP PROCEDURE IF EXISTS `test_proc1` */;;
/*!50003 SET SESSION SQL_MODE=""*/;;
/*!50003 CREATE*/ /*!50020 DEFINER=`root`@`localhost`*/ /*!50003 PROCEDURE `test_proc1`()
BEGIN
select * from system_users;
END */;;
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
/*!50003 DROP PROCEDURE IF EXISTS `test_proc2` */;;
/*!50003 SET SESSION SQL_MODE=""*/;;
/*!50003 CREATE*/ /*!50020 DEFINER=`root`@`localhost`*/ /*!50003 PROCEDURE `test_proc2`()
BEGIN
select * from testcase_node;
END */;;
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
DELIMITER ;
/*!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 */;
-- Dump completed on 2014-02-24 6:03:25
我的问题是: 为什么第4步中导出的文件什么都不包含?我的导出命令出了什么问题?
答案 0 :(得分:0)
您可以使用mysqldump
进行转储而不使用表结构/数据和其他选项,下面是语法
mysqldump -uroot -p --routines --no-create-info --no-data --no-create-db world_copy > outputfile.sql